public async Task ShouldParseCredentials()
        {
            var tmp = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());

            Directory.CreateDirectory(tmp);
            try
            {
                File.WriteAllText(Path.Combine(tmp, ".runner"), runner);
                File.WriteAllText(Path.Combine(tmp, ".credentials"), credentials);
                File.WriteAllText(Path.Combine(tmp, ".credentials_rsaparams"), credentialsRsaParams);
                var getCreds = new GetCredentials();
                var creds    = await getCreds.GetCredentialsFromPath(tmp);

                Assert.Equal(Convert.ToBase64String(Encoding.UTF8.GetBytes(credentialsRsaParams)), creds.CredentialsRsaParams);
                Assert.Equal(Convert.ToBase64String(Encoding.UTF8.GetBytes(runner)), creds.Runner);
                Assert.Equal(Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials)), creds.Credentials);
                Assert.Equal("213aa528-e449-4fc8-8b51-2f4bcd76d560", creds.Id.ToString());
                Assert.NotNull(creds.PrivatePem);
                Assert.NotNull(creds.PublicPem);
            }
            finally
            {
                Directory.Delete(tmp, true);
            }
        }
Exemplo n.º 2
0
Arquivo: Form1.cs Projeto: 3141592/vs
        //private void launchCredentialsThread_Click(object sender, RoutedEventArgs e)
        private void launchCredentialsThread_Click()
        {
            Thread credentialsThread = new Thread(delegate()
            {
                GetCredentials _credentials = new GetCredentials();
                _credentials.Show();
                System.Threading.Dispatcher.Run();
            });

            credentialsThread.SetApartmentState(ApartmentState.STA); // needs to be STA or throws exception
            credentialsThread.Start();
        }
Exemplo n.º 3
0
    static Task <int> Main() => Deployment.RunAsync(async() => {
        // Create a private ECR registry.
        var repo = new Repository("my-repo");

        // Get registry info (creds and endpoint) so we can build/publish to it.
        var imageName    = repo.RepositoryUrl;
        var registryInfo = repo.RegistryId.Apply(async(id) =>
        {
            var creds = await GetCredentials.InvokeAsync(new GetCredentialsArgs {
                RegistryId = id
            });
            var decodedData = Convert.FromBase64String(creds.AuthorizationToken);
            var decoded     = ASCIIEncoding.ASCII.GetString(decodedData);

            var parts = decoded.Split(':');
            if (parts.Length != 2)
            {
                throw new Exception("Invalid credentials");
            }

            return(new ImageRegistry
            {
                Server = creds.ProxyEndpoint,
                Username = parts[0],
                Password = parts[1],
            });
        });

        // Build and publish the app image.
        var image = new Image("my-image", new ImageArgs
        {
            Build = new DockerBuild {
                Context = "app"
            },
            ImageName = imageName,
            Registry  = registryInfo,
        });

        // Export the resulting base name in addition to the specific version pushed.
        return(new Dictionary <string, object>
        {
            { "baseImageName", image.BaseImageName },
            { "fullImageName", image.ImageName },
        });
    });