#!/usr/bin/env bats -*- bats -*-
#
# basic netavark tests
#
load helpers
@test "netavark version" {
run_netavark --version
assert "$output" =~ "netavark 1\.[0-9]+\.[0-9]+(-rc|-dev)?" "expected version"
run_netavark version
json="$output"
assert_json "$json" ".version" =~ "^1\.[0-9]+\.[0-9]+(-rc[0-9]|-dev)?" "correct version"
assert_json "$json" ".commit" =~ "[0-9a-f]{40}" "shows commit sha"
assert_json "$json" ".build_time" =~ "20.*" "show build date"
assert_json "$json" ".target" =~ ".*" "contains target string"
}
@test "netavark error - invalid ns path" {
expected_rc=1 run_netavark -f ${TESTSDIR}/testfiles/simplebridge.json setup /test/1
assert_json ".error" "invalid namespace path: IO error: No such file or directory (os error 2)" "Namespace path does not exists"
}
@test "netavark error - invalid config path" {
expected_rc=1 run_netavark -f /test/1 setup $(get_container_netns_path)
assert_json ".error" "failed to load network options: IO error: No such file or directory (os error 2)" "Config file does not exists"
}
@test "netavark - check non utf-8 paths" {
# do not use run_netavark here as it sets --config
run_helper $NETAVARK --config $'/tmp/\xff.test' version
json="$output"
assert_json "$json" ".version" =~ "^1\.[0-9]+\.[0-9]+(-rc[0-9]|-dev)?" "correct version"
}