TempYamlCliFixture.cs 986 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. namespace Tests.EndToEnd;
  2. public sealed class TempYamlCliFixture : IAsyncLifetime
  3. {
  4. public string Root { get; } = Path.Combine(
  5. Path.GetTempPath(),
  6. "rackpeek-tests",
  7. Guid.NewGuid().ToString()
  8. );
  9. public Task InitializeAsync()
  10. {
  11. Directory.CreateDirectory(Root);
  12. // Create empty YAML files so repo loads cleanly
  13. foreach (var file in new[]
  14. {
  15. "servers.yaml",
  16. "aps.yaml",
  17. "desktops.yaml",
  18. "switches.yaml",
  19. "ups.yaml",
  20. "firewalls.yaml",
  21. "laptops.yaml",
  22. "routers.yaml"
  23. })
  24. {
  25. File.WriteAllText(Path.Combine(Root, file), "");
  26. }
  27. return Task.CompletedTask;
  28. }
  29. public Task DisposeAsync()
  30. {
  31. Directory.Delete(Root, recursive: true);
  32. return Task.CompletedTask;
  33. }
  34. }