def test_not_equal_on_not_equal_unique_identifier(self): """ Test that the inequality operator returns True when comparing two ObtainLease response payloads with different unique identifiers. """ a = payloads.ObtainLeaseResponsePayload(unique_identifier='a') b = payloads.ObtainLeaseResponsePayload(unique_identifier='b') self.assertTrue(a != b) self.assertTrue(b != a)
def test_not_equal_on_not_equal_last_change_time(self): """ Test that the inequality operator returns True when comparing two ObtainLease response payloads with different last change time. """ a = payloads.ObtainLeaseResponsePayload(lease_time=0) b = payloads.ObtainLeaseResponsePayload(lease_time=1511882848) self.assertTrue(a != b) self.assertTrue(b != a)
def test_equal_on_not_equal_last_change_date(self): """ Test that the equality operator returns False when comparing two ObtainLease response payloads with different last change dates. """ a = payloads.ObtainLeaseResponsePayload(last_change_date=0) b = payloads.ObtainLeaseResponsePayload(last_change_date=1511882848) self.assertFalse(a == b) self.assertFalse(b == a)
def test_not_equal_on_type_mismatch(self): """ Test that the inequality operator returns True when comparing two ObtainLease response payloads with different types. """ a = payloads.ObtainLeaseResponsePayload() b = 'invalid' self.assertTrue(a != b) self.assertTrue(b != a)
def test_init(self): """ Test that an ObtainLease response payload can be constructed with no arguments. """ payload = payloads.ObtainLeaseResponsePayload() self.assertEqual(None, payload.unique_identifier) self.assertEqual(None, payload.lease_time) self.assertEqual(None, payload.last_change_date)
def test_write_empty(self): """ Test that an empty ObtainLease response payload can be written to a data stream. """ payload = payloads.ObtainLeaseResponsePayload() stream = utils.BytearrayStream() payload.write(stream) self.assertEqual(len(self.empty_encoding), len(stream)) self.assertEqual(str(self.empty_encoding), str(stream))
def test_write_partial(self): """ Test that a partial ObtainLease response payload can be written to a data stream. """ payload = payloads.ObtainLeaseResponsePayload( unique_identifier='f4152f17-9312-431a-b3fb-4fe86a86a7a1') stream = utils.BytearrayStream() payload.write(stream) self.assertEqual(len(self.partial_encoding), len(stream)) self.assertEqual(str(self.partial_encoding), str(stream))
def test_not_equal_on_equal(self): """ Test that the inequality operator returns False when comparing two ObtainLease response payloads with the same data. """ a = payloads.ObtainLeaseResponsePayload() b = payloads.ObtainLeaseResponsePayload() self.assertFalse(a != b) self.assertFalse(b != a) a = payloads.ObtainLeaseResponsePayload( unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038', lease_time=1511882848, last_change_date=0) b = payloads.ObtainLeaseResponsePayload( unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038', lease_time=1511882848, last_change_date=0) self.assertFalse(a != b) self.assertFalse(b != a)
def test_invalid_lease_time(self): """ Test that a TypeError is raised when an invalid value is used to set the lease time of an ObtainLease response payload. """ kwargs = {'lease_time': 'invalid'} self.assertRaisesRegex(TypeError, "Lease time must be an integer.", payloads.ObtainLeaseResponsePayload, **kwargs) payload = payloads.ObtainLeaseResponsePayload() args = (payload, 'lease_time', 'invalid') self.assertRaisesRegex(TypeError, "Lease time must be an integer.", setattr, *args)
def test_write(self): """ Test that an ObtainLease response payload can be written to a data stream. """ payload = payloads.ObtainLeaseResponsePayload( unique_identifier='f4152f17-9312-431a-b3fb-4fe86a86a7a1', lease_time=0, last_change_date=1335514468) stream = utils.BytearrayStream() payload.write(stream) self.assertEqual(len(self.full_encoding), len(stream)) self.assertEqual(str(self.full_encoding), str(stream))
def test_init_with_args(self): """ Test that an ObtainLease response payload can be constructed with valid values. """ payload = payloads.ObtainLeaseResponsePayload( unique_identifier='00000000-1111-2222-3333-444444444444', lease_time=1000000000, last_change_date=1512400153) self.assertEqual('00000000-1111-2222-3333-444444444444', payload.unique_identifier) self.assertEqual(1000000000, payload.lease_time) self.assertEqual(1512400153, payload.last_change_date)
def test_invalid_unique_identifier(self): """ Test that a TypeError is raised when an invalid value is used to set the unique identifier of an ObtainLease response payload. """ kwargs = {'unique_identifier': 0} self.assertRaisesRegex(TypeError, "Unique identifier must be a string.", payloads.ObtainLeaseResponsePayload, **kwargs) payload = payloads.ObtainLeaseResponsePayload() args = (payload, 'unique_identifier', 0) self.assertRaisesRegex(TypeError, "Unique identifier must be a string.", setattr, *args)
def test_repr(self): """ Test that repr can be applied to an ObtainLease response payload. """ payload = payloads.ObtainLeaseResponsePayload( unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038', lease_time=1511882898, last_change_date=1512410153) expected = ( "ObtainLeaseResponsePayload(" "unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038', " "lease_time=1511882898, " "last_change_date=1512410153)") observed = repr(payload) self.assertEqual(expected, observed)
def test_read_empty(self): """ Test that an ObtainLease response payload can be read from an empty data stream. """ payload = payloads.ObtainLeaseResponsePayload() self.assertEqual(None, payload.unique_identifier) self.assertEqual(None, payload.lease_time) self.assertEqual(None, payload.last_change_date) payload.read(self.empty_encoding) self.assertEqual(None, payload.unique_identifier) self.assertEqual(None, payload.lease_time) self.assertEqual(None, payload.last_change_date)
def test_str(self): """ Test that str can be applied to an ObtainLease response payload. """ payload = payloads.ObtainLeaseResponsePayload( unique_identifier='49a1ca88-6bea-4fb2-b450-7e58802c3038', lease_time=1511882898, last_change_date=1512410153) expected = str({ 'unique_identifier': '49a1ca88-6bea-4fb2-b450-7e58802c3038', 'lease_time': 1511882898, 'last_change_date': 1512410153 }) observed = str(payload) self.assertEqual(expected, observed)
def test_read_partial(self): """ Test that an ObtainLease response payload can be read from a partial data stream. """ payload = payloads.ObtainLeaseResponsePayload() self.assertEqual(None, payload.unique_identifier) self.assertEqual(None, payload.lease_time) self.assertEqual(None, payload.last_change_date) payload.read(self.partial_encoding) self.assertEqual('f4152f17-9312-431a-b3fb-4fe86a86a7a1', payload.unique_identifier) self.assertEqual(None, payload.lease_time) self.assertEqual(None, payload.last_change_date)