def test_legacy_boolean_attribute_serialize(self): """ LegacyBooleanAttribute.serialize """ attr = LegacyBooleanAttribute() assert attr.serialize(True) == '1' assert attr.serialize(False) == '0' assert attr.serialize(None) is None
def test_legacy_boolean_attribute_get_value_can_read_both(self): """ LegacyBooleanAttribute.get_value :return: """ attr = LegacyBooleanAttribute() assert attr.get_value({'N': '1'}) == '1' assert attr.get_value({'N': '0'}) == '0' assert attr.get_value({'BOOL': True}) == json.dumps(True) assert attr.get_value({'BOOL': False}) == json.dumps(False)
def test_legacy_boolean_attribute_can_read_future_boolean_attributes(self): """ LegacyBooleanAttribute.deserialize :return: """ attr = LegacyBooleanAttribute() assert attr.deserialize('1') is True assert attr.deserialize('0') is False assert attr.deserialize(json.dumps(True)) is True assert attr.deserialize(json.dumps(False)) is False
class LBAModel(Model): class Meta: table_name = 'lba_deserialization_test' host = ddb_url id = UnicodeAttribute(hash_key=True) flag = LegacyBooleanAttribute(null=True) value = UnicodeAttribute(null=True)
class LBAModel(Model): class Meta: table_name = 'migration_test_lba_to_ba' host = ddb_url id = UnicodeAttribute(hash_key=True) flag = LegacyBooleanAttribute(null=True) other = UnicodeAttribute(null=True)
class Service(Model): class Meta: table_name = app.config.get('DYNAMODB_TABLE') if app.config.get('DYNAMODB_URL'): host = app.config.get('DYNAMODB_URL') region = app.config.get('AWS_DEFAULT_REGION') connection_cls = DDBConnection session_cls = DDBSession id = UnicodeAttribute(hash_key=True) data_type = UnicodeAttribute() data_type_date_index = DataTypeDateIndex() revision = NumberAttribute() enabled = LegacyBooleanAttribute(default=True) credentials = NonNullUnicodeSetAttribute(default=set()) blind_credentials = NonNullUnicodeSetAttribute(default=set()) account = UnicodeAttribute(null=True) modified_date = UTCDateTimeAttribute(default=datetime.now) modified_by = UnicodeAttribute()
class Credential(Model): class Meta: table_name = app.config.get('DYNAMODB_TABLE') if app.config.get('DYNAMODB_URL'): host = app.config.get('DYNAMODB_URL') region = app.config.get('AWS_DEFAULT_REGION') connection_cls = DDBConnection session_cls = DDBSession id = UnicodeAttribute(hash_key=True) revision = NumberAttribute() data_type = UnicodeAttribute() data_type_date_index = DataTypeDateIndex() name = UnicodeAttribute() credential_pairs = UnicodeAttribute() enabled = LegacyBooleanAttribute(default=True) data_key = BinaryAttribute() # TODO: add cipher_type cipher_version = NumberAttribute(null=True) metadata = JSONAttribute(default={}, null=True) modified_date = UTCDateTimeAttribute(default=datetime.now) modified_by = UnicodeAttribute() documentation = UnicodeAttribute(null=True)
def test_legacy_boolean_attribute_get_value_and_deserialize_work_together(self): attr = LegacyBooleanAttribute() self.assertEqual(attr.deserialize(attr.get_value({'N': '1'})), True) self.assertEqual(attr.deserialize(attr.get_value({'N': '0'})), False) self.assertEqual(attr.deserialize(attr.get_value({'BOOL': True})), True) self.assertEqual(attr.deserialize(attr.get_value({'BOOL': False})), False)
def test_legacy_boolean_attribute_get_value_and_deserialize_work_together(self): attr = LegacyBooleanAttribute() assert attr.deserialize(attr.get_value({'N': '1'})) is True assert attr.deserialize(attr.get_value({'N': '0'})) is False assert attr.deserialize(attr.get_value({'BOOL': True})) is True assert attr.deserialize(attr.get_value({'BOOL': False})) is False