AccessPointErrorTests.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using Tests.EndToEnd.Infra;
  2. using Xunit.Abstractions;
  3. namespace Tests.EndToEnd.AccessPointTests;
  4. [Collection("Yaml CLI tests")]
  5. public class AccessPointErrorTests(TempYamlCliFixture fs, ITestOutputHelper outputHelper)
  6. : IClassFixture<TempYamlCliFixture>
  7. {
  8. private async Task<(string, string)> ExecuteAsync(params string[] args)
  9. {
  10. var output = await YamlCliTestHost.RunAsync(
  11. args,
  12. fs.Root,
  13. outputHelper,
  14. "config.yaml");
  15. var yaml = await File.ReadAllTextAsync(Path.Combine(fs.Root, "config.yaml"));
  16. return (output, yaml);
  17. }
  18. [Fact]
  19. public async Task adding_duplicate_access_point_returns_error()
  20. {
  21. await ExecuteAsync("accesspoints", "add", "ap01");
  22. var (output, _) = await ExecuteAsync("accesspoints", "add", "ap01");
  23. Assert.Contains("already exists", output, StringComparison.OrdinalIgnoreCase);
  24. }
  25. [Fact]
  26. public async Task get_missing_access_point_returns_error()
  27. {
  28. var (output, _) = await ExecuteAsync("accesspoints", "get", "ghost");
  29. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  30. }
  31. [Fact]
  32. public async Task set_missing_access_point_returns_error()
  33. {
  34. var (output, _) = await ExecuteAsync(
  35. "accesspoints", "set", "ghost",
  36. "--model", "X",
  37. "--speed", "1"
  38. );
  39. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  40. }
  41. [Fact]
  42. public async Task delete_missing_access_point_returns_error()
  43. {
  44. var (output, _) = await ExecuteAsync("accesspoints", "del", "ghost");
  45. Assert.Contains("not found", output, StringComparison.OrdinalIgnoreCase);
  46. }
  47. [Fact]
  48. public async Task invalid_speed_value_returns_error()
  49. {
  50. await ExecuteAsync("accesspoints", "add", "ap01");
  51. var (output, _) = await ExecuteAsync(
  52. "accesspoints", "set", "ap01",
  53. "--speed", "not-a-number"
  54. );
  55. Assert.Contains("error", output, StringComparison.OrdinalIgnoreCase);
  56. }
  57. }