def test_does_not_need_update_when_md5_hash_match(self): self.fs.CreateDirectory(os.path.abspath('base_path')) self.fs.CreateDirectory(os.path.join('base_path', '.devenv')) self.fs.CreateFile(os.path.join('base_path', 'devenv.yaml'), contents=SAMPLE_YAML_CONTENT) self.fs.CreateFile(os.path.join('base_path', '.devenv', 'cache.json'), contents=SAMPLE_CACHE_CONTENT) cache = PackageCache('myProject', os.path.abspath('base_path')) self.assertFalse(cache.needs_update())
def test_will_hash_yaml_file(self): self.fs.CreateDirectory(os.path.abspath('base_path')) self.fs.CreateDirectory(os.path.join('base_path', '.devenv')) self.fs.CreateFile(os.path.join('base_path', 'devenv.yaml'), contents=SAMPLE_YAML_CONTENT) cache = PackageCache('myProject', os.path.abspath('base_path')) cache.update([]) hasher = hashlib.md5() hasher.update(SAMPLE_YAML_CONTENT.encode('utf-8')) expected_hash = hasher.hexdigest() print(expected_hash) with open(os.path.join('base_path', '.devenv', 'cache.json')) as f: data = json.load(f) self.assertEqual(data.get('md5', ''), expected_hash)
def test_will_replace_prefix_variable_in_all_pc_files(self): self.setup_files(SAMPLE_YAML_CONTENT, SAMPLE_CACHE_CONTENT) self.create_dependency_directory(os.path.join('qt', 'lib')) self.create_dependency_directory(os.path.join('qt', 'lib', 'pkgconfig')) self.create_dependency_file(os.path.join('qt', 'lib', 'pkgconfig', 'Qt5Core.pc'), SAMPLE_PKG_CONFIG_FILE) cache = PackageCache('myProject', self._base_path) (_, packages) = reader.devenv_from_file(self._yaml_file) PkgConfigProcessor.replace_prefix(cache.install_locations('qt'), packages['qt']['pkg-config']) with open(os.path.join(self._deps, 'qt', 'lib', 'pkgconfig', 'Qt5Core.pc')) as f: replaced_pkg_config_data = f.readlines() self.assertEqual(''.join(replaced_pkg_config_data), EXPECTED_SAMPLE_PKG_CONFIG_FILE)
def test_needs_update_when_cache_file_does_not_exist(self): self.fs.CreateDirectory(os.path.abspath('base_path')) cache = PackageCache('myProject', os.path.abspath('base_path')) self.assertTrue(cache.needs_update())