Exemple #1
0
    def test_call_tracking(self):
        # only works in >= mock 0.8
        manager = make_manager()
        inst = ManagerMock(manager, 'foo')

        inst.filter(foo='bar').select_related('baz')

        calls = inst.mock_calls

        self.assertGreater(len(calls), 1)
        inst.assert_chain_calls(mock.call.filter(foo='bar'))
        inst.assert_chain_calls(mock.call.select_related('baz'))
Exemple #2
0
    def test_call_tracking(self):
        # only works in >= mock 0.8
        manager = make_manager()
        inst = ManagerMock(manager, 'foo')

        inst.filter(foo='bar').select_related('baz')

        calls = inst.mock_calls

        self.assertGreater(len(calls), 1)
        inst.assert_chain_calls(mock.call.filter(foo='bar'))
        inst.assert_chain_calls(mock.call.select_related('baz'))
Exemple #3
0
    def test_redirects_to_stream_if_has_groups(self):
        self.login_as(self.user)

        manager = ManagerMock(Group.objects, Group())

        with mock.patch('sentry.models.Group.objects', manager):
            resp = self.client.get(self.path)

        manager.assert_chain_calls(mock.call.filter(project=self.project), )
        manager.exists.assert_called_once_with()

        assert resp.status_code == 302
        assert resp['Location'] == 'http://testserver' + reverse(
            'sentry-stream', args=[self.project.slug])
Exemple #4
0
    def test_redirects_to_stream_if_has_groups(self):
        self.login_as(self.user)

        manager = ManagerMock(Group.objects, Group())

        with mock.patch('sentry.models.Group.objects', manager):
            resp = self.client.get(self.path)

        manager.assert_chain_calls(
            mock.call.filter(project=self.project),
        )
        manager.exists.assert_called_once_with()

        assert resp.status_code == 302
        assert resp['Location'] == 'http://testserver' + reverse('sentry-stream', args=[self.project.slug])
Exemple #5
0
    def test_does_not_redirect_if_has_projects(self, can_create_projects):
        self.login_as(self.user)

        manager = ManagerMock(Project.objects, self.project)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        assert not can_create_projects.called

        manager.assert_chain_calls(mock.call.filter(team=self.team), )

        assert resp.status_code == 200
        self.assertTemplateUsed(resp, 'sentry/dashboard.html')
        assert resp.context['team'] == self.team
        assert resp.context['project_list'] == [self.project]
        assert resp.context['SECTION'] == 'events'
Exemple #6
0
    def test_does_not_reidrect_if_missing_project_permission(
            self, can_create_projects):
        self.login_as(self.user)

        can_create_projects.return_value = False

        manager = ManagerMock(Project.objects)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        can_create_projects.assert_called_once_with(self.user, team=self.team)

        manager.assert_chain_calls(mock.call.filter(team=self.team), )

        assert resp.status_code == 200
        self.assertTemplateUsed(resp, 'sentry/dashboard.html')
Exemple #7
0
    def test_redirects_to_create_project_if_none_and_can_create_projects(self, can_create_projects):
        self.login_as(self.user)

        can_create_projects.return_value = True

        manager = ManagerMock(Project.objects)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        can_create_projects.assert_called_once_with(self.user, team=self.team)

        manager.assert_chain_calls(
            mock.call.filter(team=self.team),
        )

        assert resp.status_code == 302
        assert resp['Location'] == 'http://testserver' + reverse('sentry-new-project', args=[self.team.slug])
Exemple #8
0
    def test_does_not_redirect_if_has_projects(self, can_create_projects):
        self.login_as(self.user)

        manager = ManagerMock(Project.objects, self.project)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        assert not can_create_projects.called

        manager.assert_chain_calls(
            mock.call.filter(team=self.team),
        )

        assert resp.status_code == 200
        self.assertTemplateUsed(resp, 'sentry/dashboard.html')
        assert resp.context['team'] == self.team
        assert resp.context['project_list'] == [self.project]
Exemple #9
0
    def test_does_not_reidrect_if_missing_project_permission(self, can_create_projects):
        self.login_as(self.user)

        can_create_projects.return_value = False

        manager = ManagerMock(Project.objects)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        can_create_projects.assert_called_once_with(self.user, team=self.team)

        manager.assert_chain_calls(
            mock.call.filter(team=self.team),
        )

        assert resp.status_code == 200
        self.assertTemplateUsed(resp, 'sentry/dashboard.html')
Exemple #10
0
    def test_redirects_to_create_project_if_none_and_can_create_projects(self, can_create_projects):
        self.login_as(self.user)

        can_create_projects.return_value = True

        manager = ManagerMock(Project.objects)

        with mock.patch('sentry.models.Project.objects', manager):
            resp = self.client.get(self.path)

        can_create_projects.assert_called_once_with(self.user, team=self.team)

        manager.assert_chain_calls(
            mock.call.filter(team=self.team),
        )

        assert resp.status_code == 302
        assert resp['Location'] == 'http://testserver' + reverse('sentry-new-project', args=[self.team.slug])