예제 #1
0
    def test_get_str_projname(self, mock_getitem, mock_verify_user):
        mock_getitem.return_value = self.project

        with app.test_request_context(self.template_url % self.project_name):
            p = Projects()
            response = p.get(self.project_name)
            self.assertEqual(response.status_code, 200)
        self.assertTrue(mock_verify_user.called)
예제 #2
0
    def test_delitem_no_project_found(self, mock_delete, mock_getitem):
        mock_getitem.side_effect = Projects.ProjectNotFoundError()

        with self.assertRaises(Projects.ProjectNotFoundError):
            with app.test_request_context(
                self.template_url % self.project_name
            ):
                endpoint = Projects()
                del endpoint[self.project_name]

        self.assertTrue(mock_getitem.called)
        self.assertFalse(mock_delete.called)
예제 #3
0
    def test_delete_proj_not_found(self, mock_abort, mock_getitem,
                                   mock_verify_user):
        with self.assertRaises(Projects.ProjectNotFoundError):
            with app.test_request_context(
                            self.template_url % self.project_name):
                endpoint = Projects()
                endpoint.delete(self.project_name)

        self.assertTrue(mock_verify_user.called)
        self.assertTrue(mock_getitem.called)
        self.assertEqual(
            mock.call(404), mock_abort.call_args
        )
예제 #4
0
    def test_delete_str_project(
            self, mock_delete, mock_first, mock_verify_user
    ):
        mock_first.return_value = self.project

        with app.test_request_context(self.template_url % self.project_name):
            p = Projects()
            response = p.delete(self.project_name)

            self.assertEqual(response.status_code, 200)

        self.assertTrue(mock_verify_user.called)
        self.assertEqual(mock.call(self.project), mock_delete.call_args)
예제 #5
0
    def test_get_project_not_found(
            self, mock_abort, mock_getitem, mock_auth
    ):
        mock_getitem.side_effect = Projects.ProjectNotFoundError()

        with app.test_request_context(self.template_url % self.project_name):
            with self.assertRaises(Projects.ProjectNotFoundError):
                p = Projects()
                p.get(self.project_name)

        self.assertEqual(mock.call(404), mock_abort.call_args)
        self.assertTrue(mock_auth.called)
        self.assertTrue(mock_getitem.called)
예제 #6
0
class TestDedicatedProjectDelete(TestDedicatedProject):

    def setUp(self):
        TestDedicatedProject.setUp(self)
        self.request_method = self.client.delete

    @mock.patch('omicron_server.auth._verify_user', return_value=True)
    @mock.patch('sqlalchemy.orm.Query.first')
    @mock.patch('sqlalchemy.orm.Session.delete')
    def test_delete_int_project(
            self, mock_delete, mock_first, mock_verify_user
    ):
        mock_first.return_value = self.project

        with app.test_request_context(self.template_url % self.project_id):
            p = Projects()
            response = p.delete(self.project_id)

            self.assertEqual(response.status_code, 200)

        self.assertTrue(mock_verify_user.called)

        self.assertEqual(mock.call(self.project), mock_delete.call_args)

    @mock.patch('omicron_server.auth._verify_user', return_value=True)
    @mock.patch('sqlalchemy.orm.Query.first')
    @mock.patch('sqlalchemy.orm.Session.delete')
    def test_delete_str_project(
            self, mock_delete, mock_first, mock_verify_user
    ):
        mock_first.return_value = self.project

        with app.test_request_context(self.template_url % self.project_name):
            p = Projects()
            response = p.delete(self.project_name)

            self.assertEqual(response.status_code, 200)

        self.assertTrue(mock_verify_user.called)
        self.assertEqual(mock.call(self.project), mock_delete.call_args)

    @mock.patch('omicron_server.auth._verify_user', return_value=True)
    @mock.patch('omicron_server.views.projects.Projects.__getitem__',
                side_effect=Projects.ProjectNotFoundError())
    @mock.patch('omicron_server.views.projects.abort')
    def test_delete_proj_not_found(self, mock_abort, mock_getitem,
                                   mock_verify_user):
        with self.assertRaises(Projects.ProjectNotFoundError):
            with app.test_request_context(
                            self.template_url % self.project_name):
                endpoint = Projects()
                endpoint.delete(self.project_name)

        self.assertTrue(mock_verify_user.called)
        self.assertTrue(mock_getitem.called)
        self.assertEqual(
            mock.call(404), mock_abort.call_args
        )
예제 #7
0
    def _generic_getitem_case(self, project_name_or_id, mock_first):
        mock_first.return_value = self.project

        with app.test_request_context(self.template_url % project_name_or_id):
            endpoint = Projects()
            project = endpoint[project_name_or_id]
            self.assertEqual(project, self.project)

        self.assertTrue(mock_first.called)
예제 #8
0
    def test_get_project_none_found(self, mock_first):
        mock_first.return_value = None

        with self.assertRaises(Projects.ProjectNotFoundError):
            with app.test_request_context(
                            self.template_url % self.project_name):
                endpoint = Projects()
                _ = endpoint[self.project_name]

        self.assertTrue(mock_first.called)
예제 #9
0
    def test_delitem_no_error(self, mock_delete, mock_getitem):
        mock_getitem.return_value = self.project

        with app.test_request_context(
            self.template_url % self.project_name
        ):
            endpoint = Projects()
            del endpoint[self.project_name]

        self.assertTrue(mock_getitem.called)
        self.assertTrue(mock_delete.called)