route_tables_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package ecs
  2. import (
  3. "testing"
  4. "github.com/denverdino/aliyungo/common"
  5. )
  6. func testRouteTable(t *testing.T, client *Client, regionId common.Region, vpcId string, vrouterId string, routeTableId string, instanceId string) {
  7. cidrBlock := "0.0.0.0/0"
  8. createArgs := CreateRouteEntryArgs{
  9. RouteTableId: routeTableId,
  10. DestinationCidrBlock: cidrBlock,
  11. NextHopType: NextHopIntance,
  12. NextHopId: instanceId,
  13. ClientToken: client.GenerateClientToken(),
  14. }
  15. err := client.CreateRouteEntry(&createArgs)
  16. if err != nil {
  17. t.Errorf("Failed to create route entry: %v", err)
  18. }
  19. describeArgs := DescribeRouteTablesArgs{
  20. VRouterId: vrouterId,
  21. }
  22. routeTables, _, err := client.DescribeRouteTables(&describeArgs)
  23. if err != nil {
  24. t.Errorf("Failed to describe route tables: %v", err)
  25. } else {
  26. t.Logf("RouteTables of VRouter %s: %++v", vrouterId, routeTables)
  27. }
  28. err = client.WaitForAllRouteEntriesAvailable(vrouterId, routeTableId, 60)
  29. if err != nil {
  30. t.Errorf("Failed to wait route entries: %v", err)
  31. }
  32. deleteArgs := DeleteRouteEntryArgs{
  33. RouteTableId: routeTableId,
  34. DestinationCidrBlock: cidrBlock,
  35. NextHopId: instanceId,
  36. }
  37. err = client.DeleteRouteEntry(&deleteArgs)
  38. if err != nil {
  39. t.Errorf("Failed to delete route entry: %v", err)
  40. }
  41. }