def add_package_should_write_package_file(temp_dir, package_data): index = PackageIndex("any_name", temp_dir.join("packages")) index.add_package("spam", "version", package_data) expected_file_name = temp_dir.join("packages", "spam-version.tar.gz") assert_that(expected_file_name).is_a_file() assert_that(expected_file_name).has_file_length_of(17)
def list_versions_should_return_empty_list_when_no_package_files_are_found(temp_dir): temp_dir.create_directory("packages") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_empty()
def contains_should_return_true_if_package_in_specific_version_available( temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) assert_that(index.contains("spam", "0.1.2")).is_equal_to(True)
def get_package_content_should_return_none_when_file_does_not_exist(temp_dir): temp_dir.create_directory("packages") index = PackageIndex("any_name", temp_dir.join("packages")) actual_content = index.get_package_content("eggs", "0.1.2") assert_that(actual_content).is_none()
def list_available_package_names_should_return_single_package_when_directory_contains_single_package_file(temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) names = [name for name in index.list_available_package_names()] assert_that(names).is_equal_to(["spam"])
def list_versions_should_return_empty_list_when_no_package_files_are_found( temp_dir): temp_dir.create_directory("packages") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_empty()
def list_versions_should_return_single_version_when_single_package_file_matches_package_name(temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_equal_to(["0.1.2"])
def list_available_package_names_should_return_single_package_when_directory_contains_single_package_file( temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) names = [name for name in index.list_available_package_names()] assert_that(names).is_equal_to(["spam"])
def list_versions_should_ignore_package_files_when_name_does_not_match_wanted_name(temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "eggs-0.1.2.tar.gz") temp_dir.touch("packages", "eggs-0.1.3.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_empty()
def list_versions_should_return_single_version_when_single_package_file_matches_package_name( temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_equal_to(["0.1.2"])
def list_versions_should_ignore_package_files_when_name_does_not_match_wanted_name( temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "eggs-0.1.2.tar.gz") temp_dir.touch("packages", "eggs-0.1.3.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) versions = [v for v in index.list_versions("spam")] assert_that(versions).is_empty()
def get_package_content_should_return_file_content_when_file_exists(temp_dir): content = "spam and eggs" temp_dir.create_directory("packages") temp_dir.create_file(["packages", "eggs-0.1.2.tar.gz"], content, binary=True) index = PackageIndex("any_name", temp_dir.join("packages")) actual_content = index.get_package_content("eggs", "0.1.2") assert_that(actual_content).is_equal_to(content)
def contains_should_return_true_if_package_in_specific_version_available(temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-0.1.2.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) assert_that(index.contains("spam", "0.1.2")).is_equal_to(True)
def contains_should_return_false_if_package_not_available(temp_dir): temp_dir.create_directory("packages") index = PackageIndex("any_name", temp_dir.join("packages")) assert_that(index.contains("egg", "0.1.2")).is_equal_to(False)
def count_packages_should_return_one_when_directory_is_empty(temp_dir): temp_dir.create_directory("packages") temp_dir.touch("packages", "spam-eggs.tar.gz") index = PackageIndex("any_name", temp_dir.join("packages")) assert_that(index.count_packages()).is_equal_to(1)
def count_packages_should_return_zero_when_directory_is_empty(temp_dir): index = PackageIndex("any_name", temp_dir.join("packages")) assert_that(index.count_packages()).is_equal_to(0)
def ensure_that_constructor_creates_directory_if_it_does_not_exist(temp_dir): package_dir = temp_dir.join("packages") PackageIndex("any_name", package_dir) assert_that(package_dir).is_a_directory()