Пример #1
0
    def _package(self):
        package = Package(NAME)
        release = Release(VERSION)
        package.store_release(release)
        release.add_file(File(NAME, None, None))

        return package
Пример #2
0
    def _package(self):
        package = Package(NAME)
        release = Release(VERSION)
        package.store_release(release)
        release.add_file(File(NAME, None, None))

        return package
Пример #3
0
    def test_package_returns_releases_ordered_by_version(self):
        self.package.store_release(Release(VERSION))
        self.package.store_release(Release(NEWER_VERSION))
        self.package.store_release(Release(OLDER_VERSION))

        releases = self.package.releases()

        assert_that(releases[0].version, is_(NEWER_VERSION))
        assert_that(releases[1].version, is_(VERSION))
        assert_that(releases[2].version, is_(OLDER_VERSION))
Пример #4
0
    def _release(self, **kwargs):
        release = Release(kwargs[u'version'])

        for key, value in kwargs.iteritems():
            if hasattr(release, key):
                setattr(release, key, value)

        return release
Пример #5
0
    def test_update_package(self):
        new = Package(NAME)
        self.mapper.store(new)

        new.store_release(Release(VERSION))
        self.mapper.store(new)

        retrieved = self.mapper.get_by_name(NAME)
        assert_that(retrieved, is_(new))
Пример #6
0
class TestRelease(object):

    def setup(self):
        self.release = Release(VERSION)

    def test_release_has_metadata_when_created(self):
        assert_that(self.release.version, is_(VERSION))
        assert_that(self.release.created_on, is_(datetime.datetime))

    def test_add_a_file(self):
        uploaded = File(
            FILE_NAME,
            FILE_TYPE,
            MD5_DIGEST
        )

        self.release.add_file(uploaded)

        assert_that(self.release.files, has_entry(FILE_NAME, uploaded))

    def test_add_an_existent_file_raises_error(self):
        uploaded = File(
            FILE_NAME,
            FILE_TYPE,
            MD5_DIGEST
        )
        self.release.add_file(uploaded)

        with assert_raises(errors.AlreadyExistsError):
            self.release.add_file(uploaded)

    def test_html_description_is_html(self):
        self.release.description = 'This package aims to integrate Mercurial and Status.net.'

        assert_that(self.release.html_description(), contains_string(self.release.description))

    def test_html_description_without_description(self):
        assert_that(self.release.html_description(), is_(none()))

    def test_html_description_with_errors_returns_error_message(self):
        self.release.description = u'''Section Title
============'''

        assert_that(self.release.html_description(), contains_string('System Message: WARNING'))

    def test_version_is_greater_than_other(self):
        newer = Release(NEWER_VERSION)

        assert_that(newer, is_(greater_than(self.release)))
Пример #7
0
    def test_update_package_updates_last_updated_on(self):
        new = Package(NAME)
        self.mapper.store(new)

        updated = self.mapper.get_by_name(NAME)
        updated.store_release(Release(VERSION))
        self.mapper.store(updated)

        assert_that(updated.last_updated_on,
                    is_(greater_than(new.last_updated_on)))
Пример #8
0
class TestRelease(object):
    def setup(self):
        self.release = Release(VERSION)

    def test_release_has_metadata_when_created(self):
        assert_that(self.release.version, is_(VERSION))
        assert_that(self.release.created_on, is_(datetime.datetime))

    def test_add_a_file(self):
        uploaded = File(FILE_NAME, FILE_TYPE, MD5_DIGEST)

        self.release.add_file(uploaded)

        assert_that(self.release.files, has_entry(FILE_NAME, uploaded))

    def test_add_an_existent_file_raises_error(self):
        uploaded = File(FILE_NAME, FILE_TYPE, MD5_DIGEST)
        self.release.add_file(uploaded)

        with assert_raises(errors.AlreadyExistsError):
            self.release.add_file(uploaded)

    def test_html_description_is_html(self):
        self.release.description = 'This package aims to integrate Mercurial and Status.net.'

        assert_that(self.release.html_description(),
                    contains_string(self.release.description))

    def test_html_description_without_description(self):
        assert_that(self.release.html_description(), is_(none()))

    def test_html_description_with_errors_returns_error_message(self):
        self.release.description = u'''Section Title
============'''

        assert_that(self.release.html_description(),
                    contains_string('System Message: WARNING'))

    def test_version_is_greater_than_other(self):
        newer = Release(NEWER_VERSION)

        assert_that(newer, is_(greater_than(self.release)))
Пример #9
0
    def test_upload_file_for_existent_package(self):
        package = Package(NAME)
        package.store_release(Release(VERSION))
        when(self.packages.get_by_name).then_return(package)

        self.command.execute(name=NAME,
                             version=VERSION,
                             filetype=u'sdist',
                             md5_digest=u'06022cad9c65a8aa384ce8df1ce6f6d9',
                             uploaded_file={
                                 'body': FILE_CONTENT,
                                 'content_type': 'application/unknown',
                                 'filename': FILE_NAME,
                             })

        assert_that_method(self.packages.store).was_called()
        assert_that_method(self.files.store).was_called().with_args(
            FILE_NAME, FILE_CONTENT)
Пример #10
0
    def test_version_is_greater_than_other(self):
        newer = Release(NEWER_VERSION)

        assert_that(newer, is_(greater_than(self.release)))
Пример #11
0
    def test_package_returns_newer_as_last_version(self):
        self.package.store_release(Release(VERSION))
        self.package.store_release(Release(NEWER_VERSION))
        self.package.store_release(Release(OLDER_VERSION))

        assert_that(self.package.last_release().version, is_(NEWER_VERSION))
Пример #12
0
 def test_package_hasnt_a_release_if_wasnt_stored(self):
     assert_that(self.package.has_release(Release(VERSION)), is_(False))
     assert_that(self.package.has_release(VERSION), is_(False))
Пример #13
0
    def test_package_has_a_release_if_was_already_stored(self):
        self.package.store_release(Release(VERSION))

        assert_that(self.package.has_release(Release(VERSION)), is_(True))
        assert_that(self.package.has_release(VERSION), is_(True))
Пример #14
0
    def test_package_sets_existent_release_replaces_it(self):
        self.package.store_release(Release(VERSION))
        self.package.store_release(Release(VERSION))

        assert_that(self.package.releases(), has_length(1))
Пример #15
0
    def test_package_sets_new_release(self):
        release = Release(VERSION)
        self.package.store_release(release)

        assert_that(self.package.release(VERSION), is_(release))
Пример #16
0
 def setup(self):
     self.release = Release(VERSION)
Пример #17
0
 def setup(self):
     self.release = Release(VERSION)