1 package integration_test
2
3 import (
4 "github.com/udacity/graphb"
5
6 "edge-infra.dev/pkg/edge/api/graph/model"
7 "edge-infra.dev/test/framework/integration"
8 )
9
10 func (s *Suite) TestAddTerminalLabel() {
11 integration.SkipIf(s.Framework)
12 var response struct{ AddTerminalLabel bool }
13 mutation := "mutation{addTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", labelEdgeId: \"aac1f183-50bc-453f-a822-9ab11aa70916\"})}"
14 err := ResolverClient.Post(mutation, &response)
15 s.NoError(err)
16 }
17
18 func (s *Suite) TestAddTerminalLabels() {
19 integration.SkipIf(s.Framework)
20 var response struct{ AddTerminalLabels bool }
21 mutation := addTerminalLabelMutation("c4aa6450-3b2a-11ed-a261-0242ac12c101", []string{"7f6677a0-db13-4179-95df-61f5aa352237", "9b613ba9-1937-4ed2-a739-ae9b31059761"})
22 err := ResolverClient.Post(mutation, &response)
23 s.NoError(err)
24 }
25
26 func (s *Suite) TestGetTerminalLabelsWithOnlyTerminalID() {
27 integration.SkipIf(s.Framework)
28 var response struct{ TerminalLabels []*model.TerminalLabel }
29 mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c101", "", "")
30 err := ResolverClient.Post(mutation, &response)
31 s.NoError(err)
32 }
33
34 func (s *Suite) TestGetTerminalLabelsWithOnlyLabelEdgeID() {
35 integration.SkipIf(s.Framework)
36 var response struct{ TerminalLabels []*model.TerminalLabel }
37 mutation := getTerminalLabelsQuery("", "", "aac1f183-50bc-453f-a822-9ab11aa70916")
38 err := ResolverClient.Post(mutation, &response)
39 s.NoError(err)
40 }
41
42 func (s *Suite) TestGetTerminalLabelsWithOnlyClusterEdgeID() {
43 integration.SkipIf(s.Framework)
44 var response struct{ TerminalLabels []*model.TerminalLabel }
45 mutation := getTerminalLabelsQuery("", "3396a52c-6a22-4049-9593-5a63b696a208", "")
46 err := ResolverClient.Post(mutation, &response)
47 s.NoError(err)
48 s.Len(response.TerminalLabels, 1)
49 }
50
51 func (s *Suite) TestGetTerminalLabelsWithClusterEdgeIDAndTerminalID() {
52 integration.SkipIf(s.Framework)
53 var response struct{ TerminalLabels []*model.TerminalLabel }
54 mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c208", "3396a52c-6a22-4049-9593-5a63b696a208", "")
55 err := ResolverClient.Post(mutation, &response)
56 s.NoError(err)
57 s.Len(response.TerminalLabels, 1)
58 }
59
60 func (s *Suite) TestGetTerminalLabelsWithClusterEdgeIDTerminalIDAndLabelEdgeID() {
61 integration.SkipIf(s.Framework)
62 var response struct{ TerminalLabels []*model.TerminalLabel }
63 mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c208", "3396a52c-6a22-4049-9593-5a63b696a208", "f1e66dcb-b5c7-44a6-9221-ffd08d2f92bd")
64 err := ResolverClient.Post(mutation, &response)
65 s.NoError(err)
66 s.Len(response.TerminalLabels, 1)
67 }
68
69 func getTerminalLabelsQuery(terminalID, clusterLabelEdgeID, labelEdgeID string) string {
70 fields := make([]graphb.Argument, 0)
71 if terminalID != "" {
72 fields = append(fields, graphb.ArgumentString("terminalId", terminalID))
73 }
74 if clusterLabelEdgeID != "" {
75 fields = append(fields, graphb.ArgumentString("clusterEdgeId", clusterLabelEdgeID))
76 }
77 if labelEdgeID != "" {
78 fields = append(fields, graphb.ArgumentString("labelEdgeId", labelEdgeID))
79 }
80 return MustParse(graphb.Query{
81 Type: graphb.TypeQuery,
82 Fields: []*graphb.Field{
83 {
84 Name: "terminalLabels",
85 Arguments: []graphb.Argument{
86 graphb.ArgumentCustomType("terminalLabelParameters", fields...),
87 },
88 Fields: graphb.Fields("terminalId", "labelEdgeId", "terminalLabelEdgeId"),
89 },
90 },
91 })
92 }
93
94 func addTerminalLabelMutation(terminalID string, labelEdgeIDs []string) string {
95 return MustParse(graphb.Query{
96 Type: graphb.TypeMutation,
97 Fields: []*graphb.Field{
98 {
99 Name: "addTerminalLabels",
100 Arguments: []graphb.Argument{
101 graphb.ArgumentString("terminalId", terminalID),
102 graphb.ArgumentStringSlice("labelEdgeIds", labelEdgeIDs...),
103 },
104 },
105 },
106 })
107 }
108
109 func (s *Suite) TestDeleteTerminalLabelsWithOnlyTerminalID() {
110 integration.SkipIf(s.Framework)
111 var response struct{ DeleteTerminalLabel bool }
112 mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}"
113 err := ResolverClient.Post(mutation, &response)
114 s.NoError(err)
115 }
116
117 func (s *Suite) TestDeleteTerminalLabelsWithOnlyLabelEdgeID() {
118 integration.SkipIf(s.Framework)
119 var response struct{ DeleteTerminalLabel bool }
120 mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {labelEdgeId: \"442f2e77-279d-45af-acae-4ec5458b7536\"})}"
121 err := ResolverClient.Post(mutation, &response)
122 s.NoError(err)
123 }
124
125 func (s *Suite) TestDeleteTerminalLabelsWithOnlyClusterEdgeID() {
126 integration.SkipIf(s.Framework)
127 var response struct{ DeleteTerminalLabel bool }
128 mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}"
129 err := ResolverClient.Post(mutation, &response)
130 s.NoError(err)
131 }
132
133 func (s *Suite) TestDeleteTerminalLabelsWithClusterEdgeIDAndTerminalID() {
134 integration.SkipIf(s.Framework)
135 var response struct{ DeleteTerminalLabel bool }
136 mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}"
137 err := ResolverClient.Post(mutation, &response)
138 s.NoError(err)
139 }
140
141 func (s *Suite) TestDeleteTerminalLabelsWithClusterEdgeIDTerminalIDAndLabelEdgeID() {
142 integration.SkipIf(s.Framework)
143 var response struct{ DeleteTerminalLabel bool }
144 mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", labelEdgeId: \"442f2e77-279d-45af-acae-4ec5458b7536\", clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}"
145 err := ResolverClient.Post(mutation, &response)
146 s.NoError(err)
147 }
148
View as plain text