Example #1
0
    def setUp(self):
        self.store = MongoServerStore(self.conn, self.__class__.__name__)
        self.store = ReverseDependencyMongoStore(self.store)
        bver = BlockVersion.loads("creator/block(owner/branch):2")
        self.bv2 = BlockVersion.loads("creator2/block(owner2/branch):2")
        self.bv3 = BlockVersion.loads("creator3/block(owner3/branch):3")

        self.reverse = ReverseDependency(bver)
        self.reverse.add_dependant_version(self.bv2)
        self.reverse.add_dependant_version(self.bv3)

        self.store.upsert_reverse_dependencies(self.reverse)

        # Other version of same block
        bver2 = BlockVersion.loads("creator/block(owner/branch):3")
        self.reverse2 = ReverseDependency(bver2)
        self.reverse2.add_dependant_version(self.bv2)
        self.reverse2.add_dependant_version(self.bv3)

        self.store.upsert_reverse_dependencies(self.reverse2)
    def serialize_and_deserialize_test(self):
        tmp = LengthySerializedBlockVersion.loads(
            "creator/block(owner/branch):2")
        serial = tmp.serialize()

        tmp2 = LengthySerializedBlockVersion.deserialize(serial)
        self.assertEquals(tmp, tmp2)

        tmp = ReverseDependency(tmp, [tmp2, tmp])

        serial = tmp.serialize()

        self.assertEquals(serial[ReverseDependency.SERIAL_DEPS_ON_KEY][0] \
                                [LengthySerializedBlockVersion.SERIAL_NAME_KEY],
                                "block")

        tmp2 = ReverseDependency.deserialize(serial)
        self.assertEquals(tmp, tmp2)

        self.assertIsInstance(tmp2.depends_on_version[0],
                              LengthySerializedBlockVersion)