Пример #1
0
    def test_datarequest_create_invalid(self):
        # Configure the mock
        actions.validator.validate_datarequest = MagicMock(side_effect=self._tk.ValidationError({'error': 'MSG ERROR'}))

        # Call the function
        with self.assertRaises(self._tk.ValidationError):
            actions.datarequest_create(self.context, test_data.create_request_data)

        # Assertions
        actions.db.init_db.assert_called_once_with(self.context['model'])
        actions.tk.check_access.assert_called_once_with(constants.DATAREQUEST_CREATE, self.context, test_data.create_request_data)
        actions.validator.validate_datarequest.assert_called_once_with(self.context, test_data.create_request_data)
        self.assertEquals(0, actions.db.DataRequest.call_count)
        self.assertEquals(0, self.context['session'].add.call_count)
        self.assertEquals(0, self.context['session'].commit.call_count)
Пример #2
0
    def test_datarequest_create_valid(self):
        # Configure the mocks
        current_time = self._datetime.datetime.now()
        actions.datetime.datetime.now = MagicMock(return_value=current_time)

        # Mock actions
        default_user = {'user': 1}
        default_org = {'org': 2}
        default_pkg = None      # Accepted dataset cannot be different from None at this time
        test_data._initialize_basic_actions(actions, default_user, default_org, default_pkg)

        # Call the function
        result = actions.datarequest_create(self.context, test_data.create_request_data)

        # Assertions
        datarequest = actions.db.DataRequest.return_value

        actions.db.init_db.assert_called_once_with(self.context['model'])
        actions.tk.check_access.assert_called_once_with(constants.DATAREQUEST_CREATE, self.context, test_data.create_request_data)
        actions.validator.validate_datarequest.assert_called_once_with(self.context, test_data.create_request_data)
        actions.db.DataRequest.assert_called_once()

        self.context['session'].add.assert_called_once_with(datarequest)
        self.context['session'].commit.assert_called_once()

        # Check the object stored in the database
        self.assertEquals(self.context['auth_user_obj'].id, datarequest.user_id)
        self.assertEquals(test_data.create_request_data['title'], datarequest.title)
        self.assertEquals(test_data.create_request_data['description'], datarequest.description)
        self.assertEquals(test_data.create_request_data['organization_id'], datarequest.organization_id)
        self.assertEquals(current_time, datarequest.open_time)

        # Check the returned object
        self._check_basic_response(datarequest, result, default_user, default_org, default_pkg)
    def test_datarequest_create_invalid(self):
        # Configure the mock
        actions.validator.validate_datarequest = MagicMock(side_effect=self._tk.ValidationError({"error": "MSG ERROR"}))

        # Call the function
        with self.assertRaises(self._tk.ValidationError):
            actions.datarequest_create(self.context, test_data.create_request_data)

        # Assertions
        actions.db.init_db.assert_called_once_with(self.context["model"])
        actions.tk.check_access.assert_called_once_with(
            constants.DATAREQUEST_CREATE, self.context, test_data.create_request_data
        )
        actions.validator.validate_datarequest.assert_called_once_with(self.context, test_data.create_request_data)
        self.assertEquals(0, actions.db.DataRequest.call_count)
        self.assertEquals(0, self.context["session"].add.call_count)
        self.assertEquals(0, self.context["session"].commit.call_count)
    def test_datarequest_create_valid(self):
        # Configure the mocks
        current_time = self._datetime.datetime.now()
        actions.datetime.datetime.now = MagicMock(return_value=current_time)

        # Mock actions
        default_user = {"user": 1}
        default_org = {"org": 2}
        default_pkg = None  # Accepted dataset cannot be different from None at this time
        test_data._initialize_basic_actions(actions, default_user, default_org, default_pkg)

        # Call the function
        result = actions.datarequest_create(self.context, test_data.create_request_data)

        # Assertions
        datarequest = actions.db.DataRequest.return_value

        actions.db.init_db.assert_called_once_with(self.context["model"])
        actions.tk.check_access.assert_called_once_with(
            constants.DATAREQUEST_CREATE, self.context, test_data.create_request_data
        )
        actions.validator.validate_datarequest.assert_called_once_with(self.context, test_data.create_request_data)
        actions.db.DataRequest.assert_called_once()

        self.context["session"].add.assert_called_once_with(datarequest)
        self.context["session"].commit.assert_called_once()

        # Check the object stored in the database
        self.assertEquals(self.context["auth_user_obj"].id, datarequest.user_id)
        self.assertEquals(test_data.create_request_data["title"], datarequest.title)
        self.assertEquals(test_data.create_request_data["description"], datarequest.description)
        self.assertEquals(test_data.create_request_data["organization_id"], datarequest.organization_id)
        self.assertEquals(current_time, datarequest.open_time)

        # Check the returned object
        self._check_basic_response(datarequest, result, default_user, default_org, default_pkg)