def create_node(address, service="myservice", environment="sandbox"): """Create a new Node.""" node = Node() node.id = str(uuid4()) node.service = service node.version = "1.0" node.address = address node.environment = _parseEnvironment(environment) return node
def test_unknownServiceChildArrivesFirst(self): """ If resolution can't return an answer immediately, and the child environment gets a node later on, the resolution gets that result. """ env = _parseEnvironment("parent:child") node = create_node("somewhere", "myservice", "parent:child") disco = create_disco() promise = disco.resolve("myservice", "1.0", env) disco.onMessage(None, NodeActive(node)) self.assertEqual(promise.value().getValue().address, "somewhere") # If a parent node arrives we don't blow up: disco.onMessage( None, NodeActive(create_node("somewhereelse", "myservice", "parent")))
def knownNodes(disco, service, environment="sandbox"): """Return known nodes for a service.""" return disco.knownNodes(service, _parseEnvironment(environment))
def resolve(disco, service, version, environment="sandbox"): """Resolve a service to a Node.""" return disco.resolve(service, version, _parseEnvironment(environment)).value().getValue()
CircuitBreakerFactory(runtime)) return runtime def create_node(address, service="myservice", environment="sandbox"): """Create a new Node.""" node = Node() node.id = str(uuid4()) node.service = service node.version = "1.0" node.address = address node.environment = _parseEnvironment(environment) return node SANDBOX_ENV = _parseEnvironment("sandbox") def create_mdk_with_faketracer(environment="sandbox"): """Create an MDK with a FakeTracer. Returns (mdk, fake_tracer). """ runtime = fakeRuntime() tracer = FakeTracer() runtime.dependencies.registerService("tracer", tracer) runtime.getEnvVarsService().set("MDK_DISCOVERY_SOURCE", "static:nodes={}") runtime.getEnvVarsService().set("MDK_ENVIRONMENT", environment) mdk = MDKImpl(runtime) mdk.start() return mdk, tracer
"failurepolicy_factory", CircuitBreakerFactory(runtime)) return runtime def create_node(address, service="myservice", environment="sandbox"): """Create a new Node.""" node = Node() node.id = str(uuid4()) node.service = service node.version = "1.0" node.address = address node.environment = _parseEnvironment(environment) return node SANDBOX_ENV = _parseEnvironment("sandbox") def create_mdk_with_faketracer(environment="sandbox"): """Create an MDK with a FakeTracer. Returns (mdk, fake_tracer). """ runtime = fakeRuntime() tracer = FakeTracer() runtime.dependencies.registerService("tracer", tracer) runtime.getEnvVarsService().set("MDK_DISCOVERY_SOURCE", "static:nodes={}") runtime.getEnvVarsService().set("MDK_ENVIRONMENT", environment) mdk = MDKImpl(runtime) mdk.start() return mdk, tracer