AuthHandshakeMessageHandlerTests.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Licensed to the .NET Foundation under one or more agreements.
  2. // The .NET Foundation licenses this file to you under the MIT license.
  3. namespace Microsoft.NET.Build.Containers.UnitTests
  4. {
  5. public class AuthHandshakeMessageHandlerTests
  6. {
  7. [Theory]
  8. [InlineData("SDK_CONTAINER_REGISTRY_UNAME", "SDK_CONTAINER_REGISTRY_PWORD", (int)RegistryMode.Push)]
  9. [InlineData("DOTNET_CONTAINER_PUSH_REGISTRY_UNAME", "DOTNET_CONTAINER_PUSH_REGISTRY_PWORD", (int)RegistryMode.Push)]
  10. [InlineData("DOTNET_CONTAINER_PULL_REGISTRY_UNAME", "DOTNET_CONTAINER_PULL_REGISTRY_PWORD", (int)RegistryMode.Pull)]
  11. [InlineData("DOTNET_CONTAINER_PULL_REGISTRY_UNAME", "DOTNET_CONTAINER_PULL_REGISTRY_PWORD", (int)RegistryMode.PullFromOutput)]
  12. [InlineData("SDK_CONTAINER_REGISTRY_UNAME", "SDK_CONTAINER_REGISTRY_PWORD", (int)RegistryMode.PullFromOutput)]
  13. public void GetDockerCredentialsFromEnvironment_ReturnsCorrectValues(string unameVarName, string pwordVarName, int mode)
  14. {
  15. string? originalUnameValue = Environment.GetEnvironmentVariable(unameVarName);
  16. string? originalPwordValue = Environment.GetEnvironmentVariable(pwordVarName);
  17. Environment.SetEnvironmentVariable(unameVarName, "uname");
  18. Environment.SetEnvironmentVariable(pwordVarName, "pword");
  19. if (AuthHandshakeMessageHandler.GetDockerCredentialsFromEnvironment((RegistryMode)mode) is (string credU, string credP))
  20. {
  21. Assert.Equal("uname", credU);
  22. Assert.Equal("pword", credP);
  23. }
  24. else
  25. {
  26. Assert.Fail("Should have parsed credentials from environment");
  27. }
  28. // restore env variable values
  29. Environment.SetEnvironmentVariable(unameVarName, originalUnameValue);
  30. Environment.SetEnvironmentVariable(pwordVarName, originalPwordValue);
  31. }
  32. }
  33. }