示例#1
0
 def test_create_relationship(self):
     data_object = DataObject("$testRequest", {})
     self.assertEqual(data_object.relationships, [])
     data_object.create_field("messages", "O2M, $messageResponse")
     self.assertEqual(len(data_object.relationships), 1)
     self.assertEqual(data_object.relationships[0].name, "messages")
     self.assertEqual(data_object.relationships[0].relationship_type, "O2M")
     self.assertEqual(data_object.relationships[0].related_object, "$messageResponse")
示例#2
0
 def test_create_field(self):
     data_object = DataObject("$testRequest", {})
     self.assertEqual(data_object.fields, [])
     data_object.create_field("username", "string, optional")
     self.assertEqual(len(data_object.fields), 1)
     self.assertEqual(data_object.fields[0].name, "username")
     self.assertEqual(data_object.fields[0].field_type, "string")
     self.assertEqual(data_object.fields[0].optional, True)
示例#3
0
    def test_has_id_field(self):
        request_object = DataObject("$postRequest", {"title": "string"})
        self.assertFalse(Parameter.has_id_field(request_object))

        request_object = DataObject("$postUpdateRequest", {
            "id": "int,primarykey",
            "title": "string"
        })
        self.assertTrue(Parameter.has_id_field(request_object))
示例#4
0
    def test_data_object_properties(self):
        data_object = DataObject("$testResponse", {
            "username": "******",
            "messages": "O2M,$messageResponse"
        })
        properties = data_object.properties()
        self.assertEqual(len(properties), 2)
        self.assertEqual(properties[0].name, 'username')
        self.assertIsInstance(properties[0], Field)

        self.assertEqual(properties[1].name, 'messages')
        self.assertIsInstance(properties[1], Relationship)
示例#5
0
    def test_create_objc_id_parameter(self):
        request_object = DataObject("$postRequest", {"title": "string"})
        self.assertIsNone(
            ObjCParameter.create_id_parameter("/post/", request_object))
        self.assertIsNotNone(
            ObjCParameter.create_id_parameter("/post/:id/", request_object))

        request_object = DataObject("$postUpdateRequest", {
            "id": "int,primarykey",
            "title": "string"
        })
        self.assertIsNone(
            ObjCParameter.create_id_parameter("/post/:id/", request_object))
示例#6
0
 def test_relationship_mapping_template(self):
     post_object = DataObject('$postResponse', {
         'id': 'int,primarykey',
         'title': 'string',
         'body': 'string'
     })
     user_object = DataObject('$userResponse', {'id': 'int,primarykey'})
     relationship = Relationship('user', ["M2O", "$userResponse"])
     relationship.related_object = user_object
     self.assertTemplateEqual('relationship_mapping.j2',
                              'RelationshipMapping.swift', {
                                  'data_object': post_object,
                                  'relationship': relationship
                              })
示例#7
0
 def test_api_method_template(self):
     api = GetAPI(
         "post/", {
             "#meta": "oauth2",
             "request": "$postRequest",
             "response": {
                 "200+": "$postResponse"
             }
         })
     # Mock schema object
     schema = {
         'data_objects': {
             '$postRequest':
             DataObject("$postRequest", {
                 'body': 'string',
                 'title': 'string'
             })
         }
     }
     self.assertTemplateEqual(
         'api_method.j2', 'APIMethod.swift', {
             'api': api,
             'schema': schema,
             'VIDEO_FIELD': Field.VIDEO,
             'IMAGE_FIELD': Field.IMAGE,
         })
示例#8
0
 def test_get_object_name(self):
     data_object = DataObject("$postRequest", {})
     self.assertEqual(BaseTemplateMethods.get_object_name(data_object),
                      "postRequest")
     self.assertEqual(
         BaseTemplateMethods.get_object_name(data_object,
                                             upper_camel_case=True),
         "PostRequest")
示例#9
0
 def test_entity_mapping_template(self):
     data_object = DataObject('$postResponse', {
         'id': 'int,primarykey',
         'title': 'string',
         'body': 'string'
     })
     self.assertTemplateEqual('entity_mapping.j2', 'EntityMapping.swift', {
         'data_object': data_object,
         'sanitize_field_name': sanitize_field_name
     })
示例#10
0
 def test_generate_objc_field_parameters(self):
     request_object = DataObject("$postUpdateRequest", {
         "id": "int,primarykey",
         "title": "string",
         "tags": "M2M,$tagRequest"
     })
     parameters = ObjCParameter.generate_field_parameters(request_object)
     self.assertEqual(parameters[0].name, "id")
     self.assertEqual(parameters[0].objc_type, "NSNumber*")
     self.assertEqual(parameters[1].name, "title")
     self.assertEqual(parameters[1].objc_type, "NSString*")
示例#11
0
 def test_generate_swift_field_parameters(self):
     request_object = DataObject("$postUpdateRequest", {
         "id": "int,primarykey",
         "title": "string",
         "tags": "M2M,$tagRequest"
     })
     parameters = SwiftParameter.generate_field_parameters(request_object)
     self.assertEqual(parameters[0].name, "id")
     self.assertEqual(parameters[0].swift_type, "Int")
     self.assertEqual(parameters[1].name, "title")
     self.assertEqual(parameters[1].swift_type, "String")
示例#12
0
 def test_empty_data_object_properties(self):
     data_object = DataObject("$testRequest", {})
     self.assertEqual(data_object.properties(), [])