initial commit
This commit is contained in:
commit
c260d7bab8
235 files changed
+49786
No files matched your search
@@ -0,0 +1,58 @@
|
||||
use std::process::Command;
|
||||
fn command() -> Command {
|
||||
Command::new(env!("CARGO_BIN_EXE_rust-xmpp"))
|
||||
}
|
||||
#[test]
|
||||
fn conversion_preserves_source_and_refuses_overwrite() {
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let source = dir.path().join("config.lua");
|
||||
let output = dir.path().join("config.yaml");
|
||||
let input = "VirtualHost 'test.local'\npassword='TEST-SECRET'";
|
||||
std::fs::write(&source, input).unwrap();
|
||||
let result = command()
|
||||
.args([
|
||||
"convert",
|
||||
source.to_str().unwrap(),
|
||||
"yaml",
|
||||
output.to_str().unwrap(),
|
||||
])
|
||||
.output()
|
||||
.unwrap();
|
||||
assert!(result.status.success());
|
||||
assert!(!String::from_utf8_lossy(&result.stdout).contains("TEST-SECRET"));
|
||||
assert!(
|
||||
std::fs::read_to_string(&output)
|
||||
.unwrap()
|
||||
.contains("TEST-SECRET")
|
||||
);
|
||||
assert_eq!(std::fs::read_to_string(&source).unwrap(), input);
|
||||
#[cfg(unix)]
|
||||
{
|
||||
use std::os::unix::fs::PermissionsExt;
|
||||
assert_eq!(
|
||||
std::fs::metadata(&output).unwrap().permissions().mode() & 0o777,
|
||||
0o600
|
||||
);
|
||||
}
|
||||
let bytes = std::fs::read(&output).unwrap();
|
||||
assert!(
|
||||
!command()
|
||||
.args([
|
||||
"convert",
|
||||
source.to_str().unwrap(),
|
||||
"yaml",
|
||||
output.to_str().unwrap()
|
||||
])
|
||||
.output()
|
||||
.unwrap()
|
||||
.status
|
||||
.success()
|
||||
);
|
||||
assert_eq!(std::fs::read(&output).unwrap(), bytes);
|
||||
}
|
||||
#[test]
|
||||
fn server_cannot_be_mistaken_for_running_service() {
|
||||
let output = command().arg("serve").output().unwrap();
|
||||
assert!(!output.status.success());
|
||||
assert!(String::from_utf8_lossy(&output.stderr).contains("not implemented"));
|
||||
}
|
||||
Reference in new issue
Block a user