SystemErrorTests.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Tests.EndToEnd.Infra;
  2. using Xunit.Abstractions;
  3. namespace Tests.EndToEnd.SystemTests;
  4. [Collection("Yaml CLI tests")]
  5. public class SystemErrorTests(TempYamlCliFixture fs, ITestOutputHelper outputHelper)
  6. : IClassFixture<TempYamlCliFixture> {
  7. private async Task<(string, string)> ExecuteAsync(params string[] args) {
  8. var output = await YamlCliTestHost.RunAsync(
  9. args,
  10. fs.Root,
  11. outputHelper,
  12. "config.yaml"
  13. );
  14. var yaml = await File.ReadAllTextAsync(Path.Combine(fs.Root, "config.yaml"));
  15. return (output, yaml);
  16. }
  17. [Fact]
  18. public async Task adding_duplicate_system_returns_error() {
  19. await ExecuteAsync("systems", "add", "sys01");
  20. (var output, var _) = await ExecuteAsync("systems", "add", "sys01");
  21. Assert.Contains("already exists", output, StringComparison.OrdinalIgnoreCase);
  22. }
  23. [Fact]
  24. public async Task get_missing_system_returns_error() {
  25. (var output, var _) = await ExecuteAsync("systems", "get", "ghost");
  26. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  27. }
  28. [Fact]
  29. public async Task set_missing_system_returns_error() {
  30. (var output, var _) = await ExecuteAsync("systems", "set", "ghost", "--type", "vm");
  31. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  32. }
  33. [Fact]
  34. public async Task delete_missing_system_returns_error() {
  35. (var output, var _) = await ExecuteAsync("systems", "del", "ghost");
  36. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  37. }
  38. [Fact]
  39. public async Task tree_missing_system_returns_error() {
  40. (var output, var _) = await ExecuteAsync("systems", "tree", "ghost");
  41. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  42. }
  43. }