mod common;
use crate::common::PixiControl;
use rattler_conda_types::{Channel, ChannelConfig, Version};
use std::str::FromStr;
#[tokio::test]
async fn init_creates_project_manifest() {
let pixi = PixiControl::new().unwrap();
pixi.init().await.unwrap();
let project = pixi.project().unwrap();
assert!(!project.name().is_empty());
assert_eq!(
project.name(),
pixi.project_path()
.file_stem()
.unwrap()
.to_string_lossy()
.as_ref(),
"project name should match the directory name"
);
assert_eq!(
project.version().as_ref().unwrap(),
&Version::from_str("0.1.0").unwrap()
);
}
#[tokio::test]
async fn specific_channel() {
let pixi = PixiControl::new().unwrap();
pixi.init()
.with_channel("random")
.with_channel("foobar")
.await
.unwrap();
let project = pixi.project().unwrap();
let channels = Vec::from_iter(project.channels());
assert_eq!(
channels,
[
&Channel::from_str("random", &ChannelConfig::default()).unwrap(),
&Channel::from_str("foobar", &ChannelConfig::default()).unwrap()
]
)
}
#[tokio::test]
async fn default_channel() {
let pixi = PixiControl::new().unwrap();
pixi.init().await.unwrap();
let project = pixi.project().unwrap();
let channels = Vec::from_iter(project.channels());
assert_eq!(
channels,
[&Channel::from_str("conda-forge", &ChannelConfig::default()).unwrap()]
)
}