def test_init_param_name(self): real = pipe.Pipe("test") self.assertEquals("10.0.0.2", real.host) self.assertEquals(6379, real.port) self.assertTrue(real.is_named) self.assertEquals("test", real.name) self.assertTrue(isinstance(real.read_state, datetime.datetime)) self.assertTrue(isinstance(real.write_state, datetime.datetime)) self.assertTrue(self.ins_redis.hset.call_count == 2)
def test_init_param_read_write_child(self): self.ins_redis.keys.return_value = "" real = pipe.Pipe(read="read", write="write") self.assertEquals("10.0.0.2", real.host) self.assertEquals(6379, real.port) self.assertEquals("pid", real.name) self.assertFalse(real.is_named) self.assertTrue(isinstance(real.read_state, datetime.datetime)) self.assertTrue(isinstance(real.write_state, datetime.datetime)) self.assertTrue(self.ins_redis.hset.call_count == 2)
def test_init_param_read_write_not_none(self): self.ins_redis.keys.return_value = "data" self.ins_redis.get.return_value = "parent" real = pipe.Pipe(read="", write="") self.assertEquals("10.0.0.2", real.host) self.assertEquals(6379, real.port) self.assertEquals("parent", real.name) self.assertFalse(real.is_named) self.assertEquals("close", real.read_state) self.assertEquals("close", real.write_state) self.assertTrue(self.ins_redis.hset.call_count == 2)
def test_init_default(self): self.ins_redis.keys.return_value = "data" self.ins_redis.get.return_value = "parent" self.ins_redis.hget.side_effect = ["r", "w"] real = pipe.Pipe() self.assertEquals("10.0.0.2", real.host) self.assertEquals(6379, real.port) self.assertEquals("parent", real.name) self.assertFalse(real.is_named) self.assertEquals("r", real.read_state) self.assertEquals("w", real.write_state) self.assertTrue(self.ins_redis.hset.call_count == 2)
def test_flush_not_named(self): self.ins_redis.keys.side_effect = ["", ["abc"]] real = pipe.Pipe(read="read", write="write") real.flush() keys = ["pid", "pid_read", "pid_write", "abc"] self.ins_redis.delete.assert_any_call(*tuple(keys))
def test_flush_named(self): self.ins_redis.keys.return_value = "" real = pipe.Pipe(name="name", read="read", write="write") real.flush() keys = ["name", "name_read", "name_write"] self.ins_redis.delete.assert_any_call(*tuple(keys))
def test_has_writer_states_not_close(self): self.ins_redis.keys.return_value = "" self.ins_redis.hvals.return_value = ["open", "opne"] real = pipe.Pipe(read="read", write="write") self.assertTrue(real.has_writer())
def test_read_EndOfFile(self): self.ins_redis.lpop.return_value = None self.ins_redis.hvals.return_value = ["close", "close"] real = pipe.Pipe(read="read", write="write") self.assertRaises(exceptions.EndOfFile, real.read)
def test_close_write(self): self.ins_redis.keys.return_value = "" real = pipe.Pipe(read="read", write="write") real.close_writer() self.ins_redis.hset.assert_any_call("pid_write", "pid", "close")
def test_has_writer_no_states(self): self.ins_redis.keys.return_value = "" self.ins_redis.hvals.return_value = [] real = pipe.Pipe(read="read", write="write") self.assertTrue(real.has_writer())
def test_write_NoWriteDescriptor(self): real = pipe.Pipe(read="", write="") self.ins_redis.hvals.return_value = ["close", "close"] self.assertRaises(exceptions.NoWriteDescriptor, real.write, "data") self.assertTrue(self.ins_redis.rpush.call_count == 0)
def test_write(self): real = pipe.Pipe(read="read", write="write") self.ins_redis.hvals.return_value = [] self.assertTrue("data", real.write("data")) self.assertTrue(self.ins_redis.rpush.call_count == 1)
def test_read_NoReadDescriptor(self): self.ins_redis.lpop.return_value = None self.ins_redis.hvals.return_value = ["close", "close"] real = pipe.Pipe(read="", write="") self.assertRaises(exceptions.NoReadDescriptor, real.read)
def test_read(self): self.ins_redis.lpop.return_value = "data" real = pipe.Pipe(read="read", write="write") self.assertEquals("data", real.read())
def test_has_write_false(self): self.ins_redis.keys.return_value = "" self.ins_redis.hvals.return_value = ["close", "close"] real = pipe.Pipe(read="read", write="write") self.assertFalse(real.has_writer())
def test_read_none(self): self.ins_redis.lpop.side_effect = [None, "data"] real = pipe.Pipe(read="read", write="write") self.assertEquals("data", real.read())
def pipe(name=None): p = rackpipe.Pipe(name) return p