コード例 #1
0
ファイル: model_tests.py プロジェクト: ejesse/ogorm
 def test_from_orient(self):
     
     create_class(ClassToInsert, client=self.client)
     
     class_to_insert = ClassToInsert()
     class_to_insert.int_field = 10
     class_to_insert.str_field = 'foobar'
     class_to_insert.datetime_field = Arrow.utcnow()
     class_to_insert.float_field = 12345.547
     class_to_insert.bin_field = bytes('foo','utf-8')
     insert(class_to_insert, client=self.client)
     r = load(class_to_insert.rid, client=self.client)
     result = Model.from_orient(r)
     self.assertEqual(class_to_insert.__class__, result.__class__)
     self.assertEqual(result.rid, class_to_insert.rid)
     self.assertEqual(result.str_field, class_to_insert.str_field)
     self.assertEqual(result.int_field, class_to_insert.int_field)
     self.assertEqual(result.datetime_field, class_to_insert.datetime_field)
     self.assertEqual(result.float_field, class_to_insert.float_field)
     self.assertEqual(result.bin_field, class_to_insert.bin_field)
コード例 #2
0
ファイル: model_tests.py プロジェクト: ejesse/ogorm
 def test_get(self):
     
     create_class(ClassToGet, client=self.client)
     
     class_to_insert = ClassToGet()
     class_to_insert.int_field = 10
     class_to_insert.str_field = 'foobar'
     class_to_insert.datetime_field = Arrow.utcnow()
     class_to_insert.float_field = 12345.547
     class_to_insert.bin_field = bytes('foo','utf-8')
     class_to_insert.bool_field = True
     insert(class_to_insert, client=self.client)
     loaded_class = ClassToGet.get(class_to_insert.rid, client=self.client)
     self.assertEqual(class_to_insert.__class__, loaded_class.__class__)
     self.assertEqual(loaded_class.rid, class_to_insert.rid)
     self.assertEqual(loaded_class.str_field, class_to_insert.str_field)
     self.assertEqual(loaded_class.int_field, class_to_insert.int_field)
     self.assertEqual(loaded_class.datetime_field, class_to_insert.datetime_field)
     self.assertEqual(loaded_class.float_field, class_to_insert.float_field)
     self.assertEqual(loaded_class.bin_field, class_to_insert.bin_field)
     self.assertEqual(loaded_class.bool_field, class_to_insert.bool_field)
コード例 #3
0
ファイル: orient_sql_tests.py プロジェクト: ejesse/ogorm
    def test_record_update(self):

        create_class(ClassToUpdate, client=self.client)

        class_to_update = ClassToUpdate()
        class_to_update.int_field = 10
        class_to_update.str_field = 'foobar'
        class_to_update.datetime_field = Arrow.utcnow()
        class_to_update.float_field = 12345.547
        insert(class_to_update, client=self.client)
        self.assertIsNotNone(class_to_update.rid)
        r = load(class_to_update.rid, client=self.client)
        self.assertEqual(r._rid, class_to_update.rid)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['str_field']],
                         class_to_update.str_field)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['int_field']],
                         class_to_update.int_field)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['datetime_field']],
                         class_to_update.datetime_field.timestamp)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['float_field']],
                         class_to_update.float_field)
        class_to_update.int_field = 20
        class_to_update.str_field = 'barfoo'
        class_to_update.datetime_field = Arrow.utcnow()
        class_to_update.float_field = None
        update(class_to_update, client=self.client)
        self.assertIsNotNone(class_to_update.rid)
        r = load(class_to_update.rid, client=self.client)
        self.assertEqual(r._rid, class_to_update.rid)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['str_field']],
                         class_to_update.str_field)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['int_field']],
                         class_to_update.int_field)
        self.assertEqual(r.oRecordData[class_to_update._py_to_orient_field_mapping['datetime_field']],
                         class_to_update.datetime_field.timestamp)
        self.assertFalse(class_to_update._py_to_orient_field_mapping['float_field'] in r.oRecordData)
コード例 #4
0
ファイル: orient_sql_tests.py プロジェクト: ejesse/ogorm
    def test_load_record(self):

        create_class(ClassToLoad, client=self.client)

        class_to_insert = ClassToLoad()
        class_to_insert.int_field = 10
        class_to_insert.str_field = 'foobar'
        class_to_insert.datetime_field = Arrow.utcnow()
        class_to_insert.float_field = 12345.547
        class_to_insert.bin_field = bytes('foo', 'utf-8')
        insert(class_to_insert, client=self.client)
        self.assertIsNotNone(class_to_insert.rid)
        r = load(class_to_insert.rid, client=self.client)
        self.assertEqual(r._rid, class_to_insert.rid)
        self.assertEqual(r.oRecordData[class_to_insert._py_to_orient_field_mapping['str_field']],
                         class_to_insert.str_field)
        self.assertEqual(r.oRecordData[class_to_insert._py_to_orient_field_mapping['int_field']],
                         class_to_insert.int_field)
        self.assertEqual(r.oRecordData[class_to_insert._py_to_orient_field_mapping['datetime_field']],
                         class_to_insert.datetime_field.timestamp)
        self.assertEqual(r.oRecordData[class_to_insert._py_to_orient_field_mapping['float_field']],
                         class_to_insert.float_field)
        self.assertEqual(base64.b64decode(r.oRecordData[class_to_insert._py_to_orient_field_mapping['bin_field']].encode()),
                         class_to_insert.bin_field)
コード例 #5
0
ファイル: base.py プロジェクト: ejesse/ogorm
 def save(self, client=None):
     if self.rid is None:
         insert(self, client=client)
     else:
         update(self, client=client)