hostname3 := "baz.example.com" olderTag := &models.ModificationTag{Epoch: "abc", Index: 0} currentTag := &models.ModificationTag{Epoch: "abc", Index: 1} newerTag := &models.ModificationTag{Epoch: "def", Index: 0} endpoint1 := routing_table.Endpoint{InstanceGuid: "ig-1", Host: "1.1.1.1", Port: 11, ContainerPort: 8080, Evacuating: false, ModificationTag: currentTag} endpoint2 := routing_table.Endpoint{InstanceGuid: "ig-2", Host: "2.2.2.2", Port: 22, ContainerPort: 8080, Evacuating: false, ModificationTag: currentTag} endpoint3 := routing_table.Endpoint{InstanceGuid: "ig-3", Host: "3.3.3.3", Port: 33, ContainerPort: 8080, Evacuating: false, ModificationTag: currentTag} evacuating1 := routing_table.Endpoint{InstanceGuid: "ig-1", Host: "1.1.1.1", Port: 11, ContainerPort: 8080, Evacuating: true, ModificationTag: currentTag} logGuid := "some-log-guid" BeforeEach(func() { table = routing_table.NewTable() }) Describe("Swap", func() { Context("when a new routing key arrives", func() { Context("when the routing key has both routes and endpoints", func() { BeforeEach(func() { tempTable := routing_table.NewTempTable( routing_table.RoutesByRoutingKey{key: routing_table.Routes{Hostnames: []string{hostname1, hostname2}, LogGuid: logGuid}}, routing_table.EndpointsByRoutingKey{key: {endpoint1, endpoint2}}, ) messagesToEmit = table.Swap(tempTable) }) It("emits registrations for each pairing", func() {
func initializeRoutingTable() routing_table.RoutingTable { return routing_table.NewTable() }