Ejemplo n.º 1
0
    def test_index(self):
        index = self.galaxy_interactor.get("remote_files?target=importdir").json()
        self._assert_index_empty(index)

        _write_file_fixtures(self.root, self.library_dir)
        index = self.galaxy_interactor.get("remote_files?target=importdir").json()
        self._assert_index_matches_fixtures(index)

        # Get a 404 if the directory doesn't exist.
        index = self.galaxy_interactor.get("remote_files?target=userdir").json()
        assert_error_code_is(index, error_codes.error_codes_by_name['USER_OBJECT_NOT_FOUND'])

        users_dir = os.path.join(self.user_library_dir, USER_EMAIL)
        os.mkdir(users_dir)

        index = self.galaxy_interactor.get("remote_files?target=userdir").json()
        self._assert_index_empty(index)

        _write_file_fixtures(self.root, users_dir)

        index = self.galaxy_interactor.get("remote_files?target=userdir").json()
        self._assert_index_matches_fixtures(index)

        index = self.galaxy_interactor.get("remote_files?target=userdir&format=jstree").json()
        self._assert_index_matches_fixtures_jstree(index)
Ejemplo n.º 2
0
 def test_501_on_download_pdf_when_service_unavailable(self):
     configuration = self.dataset_populator.get_configuration()
     can_produce_markdown = configuration["markdown_to_pdf_available"]
     if can_produce_markdown:
         raise SkipTest("Skipping test because server does implement markdown conversion to PDF")
     page_request = self._test_page_payload(slug="md-page-to-pdf", content_format="markdown")
     page_response = self._post("pages", page_request, json=True)
     self._assert_status_code_is(page_response, 200)
     page_id = page_response.json()['id']
     pdf_response = self._get(f"pages/{page_id}.pdf")
     api_asserts.assert_status_code_is(pdf_response, 501)
     api_asserts.assert_error_code_is(pdf_response, error_codes.error_codes_by_name["SERVER_NOT_CONFIGURED_FOR_REQUEST"])
Ejemplo n.º 3
0
    def test_configuration_statuses(self):
        importfiles = self.galaxy_interactor.get("remote_files?target=importdir")
        assert_error_code_is(importfiles, error_codes.error_codes_by_name['CONFIG_DOES_NOT_ALLOW'])
        assert_error_message_contains(importfiles, 'import directory')

        importfiles = self.galaxy_interactor.get("remote_files?target=ftpdir")
        assert_error_code_is(importfiles, error_codes.error_codes_by_name['CONFIG_DOES_NOT_ALLOW'])
        assert_error_message_contains(importfiles, 'FTP directories')

        importfiles = self.galaxy_interactor.get("remote_files?target=userdir")
        assert_error_code_is(importfiles, error_codes.error_codes_by_name['CONFIG_DOES_NOT_ALLOW'])
        assert_error_message_contains(importfiles, 'user directories')

        # invalid request parameter waitwhat...
        importfiles = self.galaxy_interactor.get("remote_files?target=waitwhat")
        assert_error_code_is(importfiles, error_codes.error_codes_by_name['USER_REQUEST_INVALID_PARAMETER'])
Ejemplo n.º 4
0
    def test_create_invalid_params(self):
        # In theory these low-level validation test cases could be handled in more
        # of a unit test style but it makes sense during the transition from wsgi to
        # asgi to have some tests that validate the whole pipeline is being integrated
        # properly in terms of exception handling.

        # Test missing description
        name = self.dataset_populator.get_random_name()
        description = "A test role."
        payload = {
            "name": name,
            "user_ids": [self.dataset_populator.user_id()],
        }
        response = self._post("roles", payload, admin=True, json=True)
        assert_status_code_is(response, 400)
        assert_error_code_is(
            response, error_codes.
            error_codes_by_name['USER_REQUEST_MISSING_PARAMETER'].code)
        assert "description" in response.json()["err_msg"]

        # Test missing name
        payload = {
            "name": None,
            "description": description,
            "user_ids": [self.dataset_populator.user_id()],
        }
        response = self._post("roles", payload, admin=True, json=True)
        assert_status_code_is(response, 400)
        assert_error_code_is(
            response, error_codes.
            error_codes_by_name['USER_REQUEST_MISSING_PARAMETER'].code)
        assert "name" in response.json()["err_msg"]

        # Test invalid type for name
        payload = {
            "name": ["a test", "name"],
            "description": description,
            "user_ids": [self.dataset_populator.user_id()],
        }
        response = self._post("roles", payload, admin=True, json=True)
        assert_status_code_is(response, 400)
        assert_error_code_is(
            response, error_codes.
            error_codes_by_name['USER_REQUEST_INVALID_PARAMETER'].code)
        assert "name" in response.json()["err_msg"]
        assert "validation_errors" in response.json()
Ejemplo n.º 5
0
 def _assert_error_code_is(self, response, error_code):
     assert_error_code_is(response, error_code)