rimashah25 commented on a change in pull request #5350:
URL: https://github.com/apache/trafficcontrol/pull/5350#discussion_r544465264
##########
File path: traffic_ops/testing/api/v3/topologies_test.go
##########
@@ -240,6 +241,49 @@ func UpdateTestTopologies(t *testing.T) {
}
}
+func UpdateValidateTopologyORGServerCacheGroup(t *testing.T) {
+ params := url.Values{}
+ params.Set("xmlId", "ds-top")
+
+ //Get the correct DS
+ remoteDS, _, err := TOSession.GetDeliveryServicesV30WithHdr(nil, params)
+ if err != nil {
+ t.Errorf("cannot GET Delivery Services: %v", err)
+ }
+
+ //Assign ORG server to DS
+ assignServer := []string{"denver-mso-org-01"}
+ _, _, err = TOSession.AssignServersToDeliveryService(assignServer,
*remoteDS[0].XMLID)
+ if err != nil {
+ t.Errorf("cannot assign server to Delivery Services: %v", err)
+ }
+
+ //Get Topology node to update and remove ORG server nodes
+ origTopo := *remoteDS[0].Topology
+ resp, _, err := TOSession.GetTopologyWithHdr(origTopo, nil)
+ if err != nil {
+ t.Fatalf("couldn't find any topologies: %v", err)
+ }
+
+ // remove org server cachegroup
+ var p []int
+ newNodes := []tc.TopologyNode{{Id: 0, Cachegroup:
"topology-edge-cg-01", Parents: p, LastUpdated: nil}}
+ if *remoteDS[0].Topology == resp.Name {
+ resp.Nodes = newNodes
+ }
+ _, _, err = TOSession.UpdateTopology(*remoteDS[0].Topology, *resp)
+ if err == nil {
+ t.Fatalf("shouldnot UPDATE topology:%v to %v, but update was a
success", *remoteDS[0].Topology, newNodes[0].Cachegroup)
+ }
+
+ // Remove org server assignment and reset DS back to as it was for
further testing
+ serverResp, _, err := TOSession.GetDeliveryServiceServersWithHdr(nil)
Review comment:
I see your point. Since my test had only one server assignment, both
functions GetServersWithHdr() and GetDeliveryServiceServersWithHdr were getting
the correct serverID. But if we ever add more servers then things might go
wrong. So, i'll change it.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]