def _package(self): package = Package(NAME) release = Release(VERSION) package.store_release(release) release.add_file(File(NAME, None, None)) return package
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))
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
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))
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)))
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)))
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)))
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)
def test_version_is_greater_than_other(self): newer = Release(NEWER_VERSION) assert_that(newer, is_(greater_than(self.release)))
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))
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))
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))
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))
def test_package_sets_new_release(self): release = Release(VERSION) self.package.store_release(release) assert_that(self.package.release(VERSION), is_(release))
def setup(self): self.release = Release(VERSION)