github.com/GuanceCloud/cliutils@v1.1.21/pipeline/ptinput/point_test.go (about) 1 // Unless explicitly stated otherwise all files in this repository are licensed 2 // under the MIT License. 3 // This product includes software developed at Guance Cloud (https://www.guance.com/). 4 // Copyright 2021-present Guance, Inc. 5 6 package ptinput 7 8 import ( 9 "testing" 10 "time" 11 12 "github.com/GuanceCloud/cliutils/point" 13 "github.com/GuanceCloud/platypus/pkg/ast" 14 ) 15 16 func TestPt(t *testing.T) { 17 pt := NewPlPoint(point.Logging, "t", nil, nil, time.Now()) 18 if _, _, err := pt.Get("a"); err == nil { 19 t.Fatal("err == nil") 20 } 21 22 if _, _, e := pt.Get("a"); e == nil { 23 t.Fatal("ok") 24 } 25 26 if ok := pt.Set("a", 1, ast.Int); !ok { 27 t.Fatal(ok) 28 } 29 30 if ok := pt.Set("a1", []any{1}, ast.List); !ok { 31 t.Fatal(ok) 32 } 33 34 if ok := pt.Set("xx2", []any{1}, ast.List); !ok { 35 t.Fatal(ok) 36 } 37 38 if ok := pt.Set("xx2", 1.2, ast.Float); !ok { 39 t.Fatal(ok) 40 } 41 42 if _, _, err := pt.Get("xx2"); err != nil { 43 t.Fatal(err) 44 } 45 46 if err := pt.RenameKey("xx2", "xxb"); err != nil { 47 t.Fatal(err) 48 } 49 50 if ok := pt.SetTag("a", 1., ast.Float); !ok { 51 t.Fatal(ok) 52 } 53 54 if ok := pt.Set("a", 1, ast.Int); !ok { 55 t.Fatal(ok) 56 } 57 58 if _, ok := pt.Fields()["a"]; ok { 59 t.Fatal("a in fields") 60 } 61 62 if err := pt.RenameKey("a", "b"); err != nil { 63 t.Fatal(err) 64 } 65 66 if pt.PtTime().UnixNano() == 0 { 67 t.Fatal("time == 0") 68 } 69 70 pt.GetAggBuckets() 71 pt.SetAggBuckets(nil) 72 73 pt.Set("time", 1, ast.Int) 74 pt.KeyTime2Time() 75 if pt.PtTime().UnixNano() != 1 { 76 t.Fatal("time != 1") 77 } 78 79 pt.MarkDrop(true) 80 if !pt.Dropped() { 81 t.Fatal("!dropped") 82 } 83 84 dpt := pt.Point() 85 86 pt = WrapPoint(point.Logging, dpt) 87 88 if _, _, err := pt.Get("b"); err != nil { 89 t.Fatal(err.Error()) 90 } 91 92 if _, ok := pt.Tags()["b"]; !ok { 93 t.Fatal("b not in tags") 94 } 95 96 if _, dtyp, e := pt.Get("b"); e != nil || dtyp != ast.String { 97 t.Fatal("not tag") 98 } 99 100 if ok := pt.Set("b", []any{}, ast.List); !ok { 101 t.Fatal(ok) 102 } 103 104 if _, ok := pt.Fields()["xxb"]; !ok { 105 t.Fatal("xxb not in field") 106 } 107 108 if pt.GetPtName() != "t" { 109 t.Fatal("name != \"t\"") 110 } 111 112 pt.SetPtName("t2") 113 if pt.GetPtName() != "t2" { 114 t.Fatal("name != \"t2\"") 115 } 116 }