Exemple #1
0
    def setUp(self):
        super(CodeResourceViewMockTests, self).setUp()
        patcher = mocked_relations(KiveUser,
                                   CodeResource,
                                   CodeResourceRevision,
                                   User,
                                   Group)
        patcher.start()
        self.addCleanup(patcher.stop)

        # noinspection PyUnresolvedReferences
        patchers = [patch.object(CodeResource._meta,
                                 'default_manager',
                                 CodeResource.objects),
                    patch.object(CodeResourceRevision._meta,
                                 'default_manager',
                                 CodeResource.objects)]

        def dummy_save(r):
            r.id = id(r)

        # noinspection PyUnresolvedReferences
        patchers.append(patch.object(CodeResource, 'save', dummy_save))
        patcher = PatcherChain(patchers)
        patcher.start()
        self.addCleanup(patcher.stop)

        self.client = self.create_client()
        self.dev_group = Group(pk=groups.DEVELOPERS_PK)
        self.everyone = Group(pk=groups.EVERYONE_PK)
        Group.objects.add(self.dev_group, self.everyone)
        self.user = kive_user()
        self.user.groups.add(self.dev_group)
        self.content_file = ContentFile('some text', 'existing.txt')
        self.code_resource = CodeResource(pk='99',
                                          user=self.user,
                                          name='existing',
                                          filename='existing.txt')
        self.code_resource._state.adding = False

        self.other_user = User(pk=5)
        self.other_code_resource = CodeResource(pk='150', user=self.other_user)
        CodeResource.objects.add(self.code_resource, self.other_code_resource)

        self.code_resource_revision = CodeResourceRevision(
            pk='199',
            user=self.user,
            content_file=self.content_file)
        self.code_resource_revision.coderesource = self.code_resource
        self.other_code_resource_revision = CodeResourceRevision(
            pk='200',
            user=self.other_user)
        self.other_code_resource_revision.coderesource = self.other_code_resource
        self.other_code_resource.revisions.add(self.other_code_resource_revision)
        CodeResourceRevision.objects.add(self.code_resource_revision,
                                         self.other_code_resource_revision)
        k = KiveUser(pk=users.KIVE_USER_PK)
        k.groups.add(self.dev_group)
        KiveUser.objects.add(k)
    def test_start(self):
        patcher = PatcherChain([PatcherChainTest.patch_mock_max,
                                PatcherChainTest.patch_zero_sum])
        mocked = patcher.start()
        self.addCleanup(patcher.stop)

        sum_result = sum([1, 2, 3])
        mocked[0].return_value = 42
        max_result = max([1, 2, 3])

        self.assertEqual(0, sum_result)
        self.assertEqual(42, max_result)
        self.assertEqual(2, len(mocked))
        self.assertIs(zero_sum, mocked[1])
    def test_start(self):
        patcher = PatcherChain(
            [PatcherChainTest.patch_mock_max, PatcherChainTest.patch_zero_sum])
        mocked = patcher.start()
        self.addCleanup(patcher.stop)

        sum_result = sum([1, 2, 3])
        mocked[0].return_value = 42
        max_result = max([1, 2, 3])

        self.assertEqual(0, sum_result)
        self.assertEqual(42, max_result)
        self.assertEqual(2, len(mocked))
        self.assertIs(zero_sum, mocked[1])
    def test_context_manager(self):
        with PatcherChain([PatcherChainTest.patch_mock_max,
                           PatcherChainTest.patch_zero_sum]) as mocked:
            sum_result = sum([1, 2, 3])
            mocked[0].return_value = 42
            max_result = max([1, 2, 3])

            self.assertEqual(0, sum_result)
            self.assertEqual(42, max_result)
            self.assertEqual(2, len(mocked))
            self.assertIs(zero_sum, mocked[1])