def test_socket_manager_not_ready(get_by_name, engage): ("SocketManager().ready() should return None when the socket is not available") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with a fake socket and an *EMPTY* cache manager = SocketManager(zmq, context) manager.sockets = { "foobar": "SOME_TYPE" } manager.cache = {} # And that get_by_name will return "socket_sentinel" get_by_name.return_value = 'socket_sentinel' # When I call ready socket = manager.ready('foobar', 'some-polling-mechanism', timeout=1000) # Then the result should be None socket.should.be.none # And engage should have been called engage.assert_called_once_with(1000)
def test_socket_manager_get_or_create(create, get_by_name, register_socket): ("SocketManager().get_or_create() should create a socket and register it") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with no sockets manager = SocketManager(zmq, context) manager.sockets = { "foobar": "SOME_TYPE" } # When I call get_or_create result = manager.get_or_create("foobar", "SOME_TYPE", "fake-polling-mechanism") # Then it should have returned a socket result.should.equal(get_by_name.return_value) # And .create should not have been called create.called.should.be.false # And should have been retrieved by name get_by_name.assert_called_once_with("foobar") # And should have been registered register_socket.assert_called_once_with( result, "fake-polling-mechanism", )
def test_socket_manager_ready(get_by_name, engage): ("SocketManager().ready() should return the socket " "if it's ready and engaged with the given polling mechanism") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with a fake socket and a fake cache manager = SocketManager(zmq, context) manager.sockets = { "foobar": "SOME_TYPE" } manager.cache = { 'socket_sentinel': "some-polling-mechanism" } # And that get_by_name will return "socket_sentinel" get_by_name.return_value = 'socket_sentinel' # When I call ready socket = manager.ready('foobar', 'some-polling-mechanism', timeout=1000) # Then the result should be the "socket_sentinel" socket.should.equal("socket_sentinel") # And engage should have been called engage.assert_called_once_with(1000)
def test_socket_manager_get_or_create_preexisting(create, get_by_name, register_socket): ("SocketManager().get_or_create() should just return " "and register a pre-existing socket with the same name") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with no sockets manager = SocketManager(zmq, context) manager.sockets = {} # When I call get_or_create result = manager.get_or_create("foobar", "SOME_TYPE", "fake-polling-mechanism") # Then it should have returned a socket result.should.equal(get_by_name.return_value) # And the socket should have been created create.assert_called_once_with("foobar", "SOME_TYPE") # And should have been retrieved by name get_by_name.assert_called_once_with("foobar") # And should have been registered register_socket.assert_called_once_with( result, "fake-polling-mechanism" )
def test_socket_manager_not_ready(get_by_name, engage): ("SocketManager().ready() should return None when the socket is not available" ) # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with a fake socket and an *EMPTY* cache manager = SocketManager(zmq, context) manager.sockets = {"foobar": "SOME_TYPE"} manager.cache = {} # And that get_by_name will return "socket_sentinel" get_by_name.return_value = 'socket_sentinel' # When I call ready socket = manager.ready('foobar', 'some-polling-mechanism', timeout=1000) # Then the result should be None socket.should.be.none # And engage should have been called engage.assert_called_once_with(1000)
def test_socket_manager_ready(get_by_name, engage): ("SocketManager().ready() should return the socket " "if it's ready and engaged with the given polling mechanism") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with a fake socket and a fake cache manager = SocketManager(zmq, context) manager.sockets = {"foobar": "SOME_TYPE"} manager.cache = {'socket_sentinel': "some-polling-mechanism"} # And that get_by_name will return "socket_sentinel" get_by_name.return_value = 'socket_sentinel' # When I call ready socket = manager.ready('foobar', 'some-polling-mechanism', timeout=1000) # Then the result should be the "socket_sentinel" socket.should.equal("socket_sentinel") # And engage should have been called engage.assert_called_once_with(1000)
def test_socket_manager_get_or_create_preexisting(create, get_by_name, register_socket): ("SocketManager().get_or_create() should just return " "and register a pre-existing socket with the same name") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with no sockets manager = SocketManager(zmq, context) manager.sockets = {} # When I call get_or_create result = manager.get_or_create("foobar", "SOME_TYPE", "fake-polling-mechanism") # Then it should have returned a socket result.should.equal(get_by_name.return_value) # And the socket should have been created create.assert_called_once_with("foobar", "SOME_TYPE") # And should have been retrieved by name get_by_name.assert_called_once_with("foobar") # And should have been registered register_socket.assert_called_once_with(result, "fake-polling-mechanism")
def test_socket_manager_get_or_create(create, get_by_name, register_socket): ("SocketManager().get_or_create() should create a socket and register it") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with no sockets manager = SocketManager(zmq, context) manager.sockets = {"foobar": "SOME_TYPE"} # When I call get_or_create result = manager.get_or_create("foobar", "SOME_TYPE", "fake-polling-mechanism") # Then it should have returned a socket result.should.equal(get_by_name.return_value) # And .create should not have been called create.called.should.be.false # And should have been retrieved by name get_by_name.assert_called_once_with("foobar") # And should have been registered register_socket.assert_called_once_with( result, "fake-polling-mechanism", )
def test_socket_manager_repr(): ("repr(SocketManager()) should be informative") # Given a zmq mock zmq = Mock() # And a context context = Mock() # And a socket manager with some fake sockets manager = SocketManager(zmq, context) manager.sockets = OrderedDict([("foobar", "WHATEVS"), ("awesome", "WHATEVS")]) # When I get the string representation of the instance string = repr(manager) # Then it should string.should.equal("SocketManager(sockets=['foobar', 'awesome'])")