示例#1
0
    def dbmodel(self, database):
        from palladium.util import session_scope

        model = Dummy(
            name='mymodel',
            __metadata__={
                'some': 'metadata',
                'version': 1
            },
        )

        model_blob = gzip.compress(pickle.dumps(model), compresslevel=0)
        chunk_size = 4
        chunks = [
            model_blob[i:i + chunk_size]
            for i in range(0, len(model_blob), chunk_size)
        ]

        dbmodel = database.DBModel(
            version=1,
            chunks=[
                database.DBModelChunk(
                    model_version=1,
                    blob=chunk,
                ) for chunk in chunks
            ],
            metadata_=json.dumps(model.__metadata__),
        )

        with session_scope(database.session) as session:
            session.add(dbmodel)

        return model
示例#2
0
    def dbmodel(self, database):
        from palladium.util import session_scope

        model = Dummy(
            name='mymodel',
            __metadata__={'some': 'metadata', 'version': 1},
            )

        model_blob = gzip.compress(pickle.dumps(model), compresslevel=0)
        chunk_size = 4
        chunks = [model_blob[i:i + chunk_size]
                  for i in range(0, len(model_blob), chunk_size)]

        dbmodel = database.DBModel(
            version=1,
            chunks=[
                database.DBModelChunk(
                    model_version=1,
                    blob=chunk,
                    )
                for chunk in chunks
                ],
            metadata_=json.dumps(model.__metadata__),
            )

        with session_scope(database.session) as session:
            session.add(dbmodel)

        return model
示例#3
0
 def test_success(self):
     from palladium.util import session_scope
     session = Mock()
     with session_scope(session):
         session.query()
     assert session.commit.call_count == 1
     assert session.rollback.call_count == 0
     assert session.close.call_count == 1
示例#4
0
 def test_success(self):
     from palladium.util import session_scope
     session = Mock()
     with session_scope(session):
         session.query()
     assert session.commit.call_count == 1
     assert session.rollback.call_count == 0
     assert session.close.call_count == 1
示例#5
0
 def test_exception(self):
     from palladium.util import session_scope
     session = Mock()
     with pytest.raises(KeyError):
         with session_scope(session):
             raise KeyError('Error')
     assert session.commit.call_count == 0
     assert session.rollback.call_count == 1
     assert session.close.call_count == 1
示例#6
0
 def test_exception(self):
     from palladium.util import session_scope
     session = Mock()
     with pytest.raises(KeyError):
         with session_scope(session):
             raise KeyError('Error')
     assert session.commit.call_count == 0
     assert session.rollback.call_count == 1
     assert session.close.call_count == 1