def check_file(dirname): filename = os.path.join(dirname, DEFAULT_PROJECT_LOCK_FILENAME) assert os.path.exists(filename) lock_file = ProjectLockFile.load_for_directory(dirname) all_names = ['foo', 'bar'] lock_set = CondaLockSet( {'all': ['something=3.0=0']}, platforms=['linux-32', 'linux-64', 'osx-64', 'win-32', 'win-64']) # so the point of this test is that we need to create env_specs # dict and the 'foo' entry as a side effect of setting 'bar', # in order to mark 'foo' disabled. lock_file._set_lock_set('bar', lock_set, all_names=all_names) # "foo" should have been DISABLED since we had to # enable the global flag in order to enable "bar" foo_lock_set = _get_lock_set(lock_file, 'foo') assert lock_file.get_value(['env_specs', 'foo', 'locked']) is False assert foo_lock_set.disabled bar_lock_set = _get_lock_set(lock_file, 'bar') assert bar_lock_set.enabled assert ('something=3.0=0', ) == bar_lock_set.package_specs_for_current_platform # be sure we can save lock_file.save() reloaded = ProjectLockFile.load_for_directory(dirname) assert ('something=3.0=0', ) == _get_lock_set( reloaded, 'bar').package_specs_for_current_platform assert _get_lock_set(reloaded, 'foo').disabled
def check_file(dirname): filename = os.path.join(dirname, DEFAULT_PROJECT_LOCK_FILENAME) assert os.path.exists(filename) lock_file = ProjectLockFile.load_for_directory(dirname) # we have the global enabled flag off; individual # env spec settings override that; foo has no setting. foo_lock_set = _get_lock_set(lock_file, 'foo') assert lock_file.get_value(['env_specs', 'foo', 'locked'], None) is None assert foo_lock_set.disabled bar_lock_set = _get_lock_set(lock_file, 'bar') assert bar_lock_set.disabled all_names = ['foo', 'bar'] lock_set = CondaLockSet( {'all': ['something=3.0=0']}, platforms=['linux-32', 'linux-64', 'osx-64', 'win-32', 'win-64']) lock_set.env_spec_hash = "hash-hash-hash" lock_file._set_lock_set('bar', lock_set, all_names=all_names) # "foo" should have been DISABLED since we had to # enable the global flag in order to enable "bar" foo_lock_set = _get_lock_set(lock_file, 'foo') assert lock_file.get_value(['env_specs', 'foo', 'locked']) is False assert foo_lock_set.disabled assert foo_lock_set.env_spec_hash is None bar_lock_set = _get_lock_set(lock_file, 'bar') assert bar_lock_set.enabled assert ('something=3.0=0', ) == bar_lock_set.package_specs_for_current_platform assert "hash-hash-hash" == bar_lock_set.env_spec_hash # and now we should enable "foo" when we set it to something lock_file._set_lock_set('foo', lock_set, all_names=all_names) foo_lock_set = _get_lock_set(lock_file, 'foo') assert foo_lock_set.enabled assert ('something=3.0=0', ) == foo_lock_set.package_specs_for_current_platform # be sure we can save lock_file.save() reloaded = ProjectLockFile.load_for_directory(dirname) assert ('something=3.0=0', ) == _get_lock_set( reloaded, 'bar').package_specs_for_current_platform assert ('something=3.0=0', ) == _get_lock_set( reloaded, 'foo').package_specs_for_current_platform # Check _set_lock_set_hash lock_file._set_lock_set_hash('bar', 'hash2.0') lock_file.save() reloaded = ProjectLockFile.load_for_directory(dirname) bar_lock_set = _get_lock_set(reloaded, 'bar') assert bar_lock_set.env_spec_hash == 'hash2.0'
def check_file(dirname): filename = os.path.join(dirname, relative_name) assert os.path.exists(filename) subdir = os.path.join(dirname, 'subdir') os.makedirs(subdir) lock_file = ProjectLockFile.load_for_directory(subdir) assert lock_file.get_value(['env_specs', 'foo']) is not None assert lock_file.get_value(['locking_enabled']) is True
def check_file(dirname): filename = os.path.join(dirname, DEFAULT_PROJECT_LOCK_FILENAME) assert os.path.exists(filename) lock_file = ProjectLockFile.load_for_directory(dirname) foo_lock_set = _get_lock_set(lock_file, 'foo') assert foo_lock_set.enabled assert ( 'foo=1.0=1', ) == foo_lock_set.package_specs_for_current_platform bar_lock_set = _get_lock_set(lock_file, 'bar') assert bar_lock_set.disabled
def create_file(dirname): filename = os.path.join(dirname, DEFAULT_PROJECT_LOCK_FILENAME) assert not os.path.exists(filename) lock_file = ProjectLockFile.load_for_directory(dirname) assert lock_file is not None assert not os.path.exists(filename) assert _get_lock_set(lock_file, 'foo').disabled assert not _get_locking_enabled(lock_file, 'foo') lock_file.save() # should not have saved an unmodified (default) file) assert not os.path.exists(filename) # make a change, which should cause us to save lock_file.set_value(['something'], 42) lock_file.save() assert os.path.exists(filename) with codecs.open(filename, 'r', 'utf-8') as file: contents = file.read() expected = expected_default_file + "something: 42\n" assert_identical_except_blank_lines(expected, contents)