]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/thrift/lib/go/test/tests/gotag_test.go
buildsys: switch source download to quincy
[ceph.git] / ceph / src / jaegertracing / thrift / lib / go / test / tests / gotag_test.go
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20 package tests
21
22 import (
23 "gotagtest"
24 "reflect"
25 "testing"
26 )
27
28 func TestDefaultTag(t *testing.T) {
29 s := gotagtest.Tagged{}
30 st := reflect.TypeOf(s)
31 field, ok := st.FieldByName("StringThing")
32 if !ok || field.Tag.Get("json") != "string_thing" {
33 t.Error("Unexpected default tag value")
34 }
35 }
36
37 func TestCustomTag(t *testing.T) {
38 s := gotagtest.Tagged{}
39 st := reflect.TypeOf(s)
40 field, ok := st.FieldByName("IntThing")
41 if !ok || field.Tag.Get("json") != "int_thing,string" {
42 t.Error("Unexpected custom tag value")
43 }
44 }
45
46 func TestOptionalTag(t *testing.T) {
47 s := gotagtest.Tagged{}
48 st := reflect.TypeOf(s)
49 field, ok := st.FieldByName("OptionalIntThing")
50 if !ok || field.Tag.Get("json") != "optional_int_thing,omitempty" {
51 t.Error("Unexpected default tag value for optional field")
52 }
53 }
54
55 func TestOptionalTagWithDefaultValue(t *testing.T) {
56 s := gotagtest.Tagged{}
57 st := reflect.TypeOf(s)
58 field, ok := st.FieldByName("OptionalBoolThing")
59 if !ok || field.Tag.Get("json") != "optional_bool_thing" {
60 t.Error("Unexpected default tag value for optional field that has a default value")
61 }
62 }