package integration_test import ( "github.com/udacity/graphb" "edge-infra.dev/pkg/edge/api/graph/model" "edge-infra.dev/test/framework/integration" ) func (s *Suite) TestAddTerminalLabel() { integration.SkipIf(s.Framework) var response struct{ AddTerminalLabel bool } mutation := "mutation{addTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", labelEdgeId: \"aac1f183-50bc-453f-a822-9ab11aa70916\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestAddTerminalLabels() { integration.SkipIf(s.Framework) var response struct{ AddTerminalLabels bool } mutation := addTerminalLabelMutation("c4aa6450-3b2a-11ed-a261-0242ac12c101", []string{"7f6677a0-db13-4179-95df-61f5aa352237", "9b613ba9-1937-4ed2-a739-ae9b31059761"}) err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestGetTerminalLabelsWithOnlyTerminalID() { integration.SkipIf(s.Framework) var response struct{ TerminalLabels []*model.TerminalLabel } mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c101", "", "") err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestGetTerminalLabelsWithOnlyLabelEdgeID() { integration.SkipIf(s.Framework) var response struct{ TerminalLabels []*model.TerminalLabel } mutation := getTerminalLabelsQuery("", "", "aac1f183-50bc-453f-a822-9ab11aa70916") err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestGetTerminalLabelsWithOnlyClusterEdgeID() { integration.SkipIf(s.Framework) var response struct{ TerminalLabels []*model.TerminalLabel } mutation := getTerminalLabelsQuery("", "3396a52c-6a22-4049-9593-5a63b696a208", "") err := ResolverClient.Post(mutation, &response) s.NoError(err) s.Len(response.TerminalLabels, 1) } func (s *Suite) TestGetTerminalLabelsWithClusterEdgeIDAndTerminalID() { integration.SkipIf(s.Framework) var response struct{ TerminalLabels []*model.TerminalLabel } mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c208", "3396a52c-6a22-4049-9593-5a63b696a208", "") err := ResolverClient.Post(mutation, &response) s.NoError(err) s.Len(response.TerminalLabels, 1) } func (s *Suite) TestGetTerminalLabelsWithClusterEdgeIDTerminalIDAndLabelEdgeID() { integration.SkipIf(s.Framework) var response struct{ TerminalLabels []*model.TerminalLabel } mutation := getTerminalLabelsQuery("c4aa6450-3b2a-11ed-a261-0242ac12c208", "3396a52c-6a22-4049-9593-5a63b696a208", "f1e66dcb-b5c7-44a6-9221-ffd08d2f92bd") err := ResolverClient.Post(mutation, &response) s.NoError(err) s.Len(response.TerminalLabels, 1) } func getTerminalLabelsQuery(terminalID, clusterLabelEdgeID, labelEdgeID string) string { fields := make([]graphb.Argument, 0) if terminalID != "" { fields = append(fields, graphb.ArgumentString("terminalId", terminalID)) } if clusterLabelEdgeID != "" { fields = append(fields, graphb.ArgumentString("clusterEdgeId", clusterLabelEdgeID)) } if labelEdgeID != "" { fields = append(fields, graphb.ArgumentString("labelEdgeId", labelEdgeID)) } return MustParse(graphb.Query{ Type: graphb.TypeQuery, Fields: []*graphb.Field{ { Name: "terminalLabels", Arguments: []graphb.Argument{ graphb.ArgumentCustomType("terminalLabelParameters", fields...), }, Fields: graphb.Fields("terminalId", "labelEdgeId", "terminalLabelEdgeId"), }, }, }) } func addTerminalLabelMutation(terminalID string, labelEdgeIDs []string) string { return MustParse(graphb.Query{ Type: graphb.TypeMutation, Fields: []*graphb.Field{ { Name: "addTerminalLabels", Arguments: []graphb.Argument{ graphb.ArgumentString("terminalId", terminalID), graphb.ArgumentStringSlice("labelEdgeIds", labelEdgeIDs...), }, }, }, }) } func (s *Suite) TestDeleteTerminalLabelsWithOnlyTerminalID() { integration.SkipIf(s.Framework) var response struct{ DeleteTerminalLabel bool } mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestDeleteTerminalLabelsWithOnlyLabelEdgeID() { integration.SkipIf(s.Framework) var response struct{ DeleteTerminalLabel bool } mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {labelEdgeId: \"442f2e77-279d-45af-acae-4ec5458b7536\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestDeleteTerminalLabelsWithOnlyClusterEdgeID() { integration.SkipIf(s.Framework) var response struct{ DeleteTerminalLabel bool } mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestDeleteTerminalLabelsWithClusterEdgeIDAndTerminalID() { integration.SkipIf(s.Framework) var response struct{ DeleteTerminalLabel bool } mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) } func (s *Suite) TestDeleteTerminalLabelsWithClusterEdgeIDTerminalIDAndLabelEdgeID() { integration.SkipIf(s.Framework) var response struct{ DeleteTerminalLabel bool } mutation := "mutation{deleteTerminalLabel(terminalLabelParameters: {terminalId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\", labelEdgeId: \"442f2e77-279d-45af-acae-4ec5458b7536\", clusterEdgeId: \"c4aa6450-3b2a-11ed-a261-0242ac12c101\"})}" err := ResolverClient.Post(mutation, &response) s.NoError(err) }