...

Source file src/edge-infra.dev/pkg/edge/api/graph/integration/terminal_labels_queries_test.go

Documentation: edge-infra.dev/pkg/edge/api/graph/integration

     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