Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_channel_alias_channels(self):
channel = Channel('binstar/label/dev')
assert channel.channel_name == "binstar/label/dev"
assert channel.channel_location == "conda.anaconda.org"
assert channel.platform is None
assert channel.package_filename is None
assert channel.canonical_name == "binstar/label/dev"
assert channel.urls() == [
'https://conda.anaconda.org/binstar/label/dev/%s' % context.subdir,
'https://conda.anaconda.org/binstar/label/dev/noarch',
]
channel = Channel('binstar/label/dev/win-32')
assert channel.channel_name == "binstar/label/dev"
assert channel.channel_location == "conda.anaconda.org"
assert channel.platform == 'win-32'
assert channel.package_filename is None
assert channel.canonical_name == "binstar/label/dev"
assert channel.urls() == [
'https://conda.anaconda.org/binstar/label/dev/win-32',
'https://conda.anaconda.org/binstar/label/dev/noarch',
]
def test_bare_channel_file(self):
url = "file:///conda-01"
channel = Channel(url)
assert channel.scheme == "file"
assert channel.location == "/"
assert channel.platform is None
assert channel.canonical_name == url
assert channel.name == "conda-01"
assert channel.base_url == url
assert channel.url() == join_url(url, context.subdir)
assert channel.urls() == [
join_url(url, context.subdir),
join_url(url, 'noarch'),
]
def test_basic_get_reduced_index(self):
get_reduced_index(None, (Channel('defaults'), Channel('conda-test')), context.subdirs,
(MatchSpec('flask'), ), 'repodata.json')
def test_pkgs_pro(self):
channel = Channel('pkgs/pro')
assert channel.channel_name == "pkgs/pro"
assert channel.channel_location == "192.168.0.15:8080"
assert channel.canonical_name == "defaults"
assert channel.urls() == [
'http://192.168.0.15:8080/pkgs/pro/%s' % self.platform,
'http://192.168.0.15:8080/pkgs/pro/noarch',
]
channel = Channel('https://repo.anaconda.com/pkgs/pro')
assert channel.channel_name == "pkgs/pro"
assert channel.channel_location == "repo.anaconda.com"
assert channel.canonical_name == "defaults"
assert channel.urls() == [
'https://repo.anaconda.com/pkgs/pro/%s' % self.platform,
'https://repo.anaconda.com/pkgs/pro/noarch',
]
def test_canonicalized_url_gets_correct_token(self):
channel = Channel("bioconda")
assert channel.urls() == [
"https://10.2.3.4:8080/conda/bioconda/%s" % self.platform,
"https://10.2.3.4:8080/conda/bioconda/noarch",
]
assert channel.urls(with_credentials=True) == [
"https://10.2.3.4:8080/conda/t/tk-123-45/bioconda/%s" % self.platform,
"https://10.2.3.4:8080/conda/t/tk-123-45/bioconda/noarch",
]
channel = Channel("https://10.2.3.4:8080/conda/bioconda")
assert channel.urls() == [
"https://10.2.3.4:8080/conda/bioconda/%s" % self.platform,
"https://10.2.3.4:8080/conda/bioconda/noarch",
]
assert channel.urls(with_credentials=True) == [
"https://10.2.3.4:8080/conda/t/tk-123-45/bioconda/%s" % self.platform,
def get_solver_aggregate_1(specs_to_add=(), specs_to_remove=(), prefix_records=(), history_specs=()):
PrefixData._cache_.clear()
pd = PrefixData(TEST_PREFIX)
pd._PrefixData__prefix_records = {rec.name: PrefixRecord.from_objects(rec) for rec in prefix_records}
spec_map = {spec.name: spec for spec in history_specs}
get_index_r_2(context.subdir)
get_index_r_4(context.subdir)
with patch.object(History, 'get_requested_specs_map', return_value=spec_map):
solver = Solver(TEST_PREFIX, (Channel('channel-2'), Channel('channel-4'), ),
(context.subdir,), specs_to_add=specs_to_add, specs_to_remove=specs_to_remove)
yield solver
def channel_str(rec):
if rec.get('schannel'):
return rec['schannel']
if rec.get('url'):
return Channel(rec['url']).canonical_name
if rec.get('channel'):
return Channel(rec['channel']).canonical_name
return UNKNOWN_CHANNEL
def __init__(self, channel, repodata_fn=REPODATA_FN):
assert channel.subdir
if channel.package_filename:
parts = channel.dump()
del parts['package_filename']
channel = Channel(**parts)
self.channel = channel
self.url_w_subdir = self.channel.url(with_credentials=False)
self.url_w_credentials = self.channel.url(with_credentials=True)
# whether or not to try using the new, trimmed-down repodata
self.repodata_fn = repodata_fn
self._loaded = False
As of conda 4.3, a valid channel must contain a `noarch/repodata.json` and
associated `noarch/repodata.json.bz2` file, even if `noarch/repodata.json` is
empty. please request that the channel administrator create
`noarch/repodata.json` and associated `noarch/repodata.json.bz2` files.
$ mkdir noarch
$ echo '{}' > noarch/repodata.json
$ bzip2 -k noarch/repodata.json
You will need to adjust your conda configuration to proceed.
Use `conda config --show` to view your configuration's current state.
Further configuration help can be found at <%s>.
""") % (maybe_unquote(dirname(url)),
join_url(CONDA_HOMEPAGE_URL, 'docs/config.html'))
elif status_code == 401:
channel = Channel(url)
if channel.token:
help_message = dals("""
The token '%s' given for the URL is invalid.
If this token was pulled from anaconda-client, you will need to use
anaconda-client to reauthenticate.
If you supplied this token to conda directly, you will need to adjust your
conda configuration to proceed.
Use `conda config --show` to view your configuration's current state.
Further configuration help can be found at <%s>.
""") % (channel.token, join_url(CONDA_HOMEPAGE_URL, 'docs/config.html'))
elif context.channel_alias.location in url:
# Note, this will not trigger if the binstar configured url does
if k.endswith('.tar.bz2'):
packages[k] = v
elif k.endswith('.conda'):
conda_packages[k] = v
if not repodata:
repodata = {
"info": {
"subdir": subdir,
"arch": context.arch_name,
"platform": context.platform,
},
"packages": packages,
"packages.conda": conda_packages,
}
channel = Channel('https://conda.anaconda.org/dummy-channel/%s' % subdir)
sd = SubdirData(channel)
sd._process_raw_repodata_str(json.dumps(repodata))
sd._loaded = True
SubdirData._cache_[channel.url(with_credentials=True)] = sd
index = {prec: prec for prec in precs or sd._package_records}
r = Resolve(index, channels=(channel,))
return r