示例#1
0
        public async Task AssignSshKeyToWorkSpace()
        {
            var organizationName = configuration["organizationName"];

            var httpClient = new HttpClient();
            var config     = new TfeConfig(configuration["teamToken"], httpClient);

            var client = new TfeClient(config);

            var request = new AssignSsshKeyRequest();

            request.Data.Attributes.Id = IntegrationContext.SshKeyId;

            var result = await client.Workspace.AssignSshKeyAsync(IntegrationContext.WorkspaceId, request);

            Assert.NotNull(result);
            Assert.Equal(IntegrationContext.SshKeyId, result.Data.Relationships.SshKey.Data.Id);
        }
示例#2
0
        public async Task CreateWorkspace()
        {
            var organizationName = configuration["organizationName"];

            var httpClient = new HttpClient();
            var config     = new TfeConfig(configuration["organizationToken"], httpClient);

            var client = new TfeClient(config);

            var request       = new WorkspacesRequest();
            var workspaceName = $"test-{Guid.NewGuid().ToString()}";

            request.Data.Attributes.Name = workspaceName;

            var result = await client.Workspace.CreateAsync(organizationName, request);

            Assert.NotNull(result);
            Assert.Equal(workspaceName, result.Data.Attributes.Name);
        }
示例#3
0
        public async Task CreateSshKey()
        {
            var organizationName = configuration["organizationName"];

            var httpClient = new HttpClient();
            var config = new TfeConfig(configuration["teamToken"], httpClient);

            var client = new TfeClient(config);

            var request = new SshKeyRequest();
            var keyName = Guid.NewGuid().ToString();
            request.Data.Attributes.Name = keyName;
            request.Data.Attributes.Value = "-----BEGIN RSA PRIVATE KEY-----\nProc-Type: 4,ENCRYPTED\nDEK-Info: DES-EDE3-CBC,AAE00111B021AF6B\n\nda5xh91eoDrnn78JUMjZs3nr+hdp/TBEDSbuJcJJbmF6C7Jrqr5lJiS/dLAcqrfc\nBP6MzBaxwTzvqhvflI2EGqPyhIXsOI1UsBqOWWj2WeFPqvbm40sTFuPX0yt/1fH4\nOtlcWHl8nJea3DUQahgimEoYeSfHar6u1quFi778eVR96/3emqe34mKsNa/iLEVi\nyOi/Uww+gjPJRlUHmE9fy6Rcg8x9ixsO03R1hu7CIx41xxNhgQhDrkH7f4VQceGT\nWyh3IyyzHRnhIJ5QxgKCZGsQzIOol2qQ2P/H8nGo9Ksv6i4GEFdF3Ia6v6yyFKRw\n39GDR+ugH8yBY33uQ1NmCxO4KHn/B61XL6sRFjd5UXTSYB5yickBrTAHLROM16xv\nP5+Sc1t1OpIyvnaNJ7wyR81Ja56MQmviH3R+28VvBN10iqeHaaBWv/B63cV57Dag\nyY3n58ZxH7PaxEZBANCpuBKXHnRmlrZo2QrVxp2q9QidsYi/LpgXX/TA42llglqB\n8js9jjG3XO8FRr4Eik05p0vH7Z7EeHXj+mlRBk1H8zCcap0qHeZweYCnhEfL34rf\nBD30nZDjfhqvtpN8TuY1pNZCNADZflmE1HJAqT3ekMrkVs4o23kGfKactnbxS3WA\nSqvPufZQEdPOWyyxGB5Lnmx2l6uFqI2eiPksiZ7UhOgZIag3gKjWbIELmQg1c707\nX9pXNccwS5njC9UbrteTNBidLZK2hSy0h9jvczzIfm7u6X+D4XP/dQlQZOuwCrWw\nuaV0aSrqiPUiPae4loDIBqQSIXeESUFLIDJcEByy4NJRhsNXRkCVkTLN80yy6Snw\nyjFrHh1iDe/mnbs/Ixl2P57dlHhymEV2+1Chzsxif9oM/Y5vdhyaffTmFaNC0lh+\nlmpWJIUyXM6B/IU7I4c0pFYAFDLHLOpb28sAN9IVFFbv9JXm/9+cGYMWANbrjyuh\nTpErr6D4S8y/t4OpMoDadjON2AO+XQkvIoMYS/RLwU9Y1TZx5oH3bLswAyVZLwKu\nOJFkc1sVht1zb4kK639vjA4E3Hnw40Gj59JynGwZLz2ge2bfqsrdtQ2nSXaPI0LF\n4NH2nBxUKZNuYsuBbgMTCP8l2Fca8oHB3gPZVqlhEuV/Bd7TJwGpMXspgCVqwZGz\noQL5JsA87QmktqnnWSCfZAuIKzsy/QPmgf3xgEZODGKJcHM/oEuResRmeb4vbxiK\nXYvJRo8ESVNWIJrBvsTBiLYPG7XBk5MMHGKPGdkc/T7LSKGbqNEl0HJSUzG+x01i\nNVOw7gYZcUhJIIN6ojCbKv0LJsqQwjN3jUxqBhldRu9XXa+Nng6nXs3B9FUvFof4\nvXf8omfdgKekCx2uIc9aE1Y4uSI43TxOatU71uo2UV12z5Sd4NFWk+SyRK2muNZT\noz0kzxFl2wvH/p//MueGqAIxeJA9or2maefY4VvCnlIQvsA6FWk+6sAXywD78TSf\nWA9xHdBhzYnlm+1g4nlNP4dwz/SRb+2sWZm+IwbfOBlubLJDTRyrusxigZyRB+RN\nGEQCr99gNsBoDtn4rQmY/E7Wm3Br1/jlI5PHdl9rIFHjw8SIn/6Faw==\n-----END RSA PRIVATE KEY-----";

            var result = await client.SshKey.CreateAsync(organizationName, request);
            Assert.NotNull(result);
            Assert.Equal(keyName, result.Data.Attributes.Name);

            IntegrationContext.SshKeyId = result.Data.Id;
        }
示例#4
0
        public async Task CreateOAuthClient()
        {
            var organizationName = configuration["organizationName"];

            var httpClient = new HttpClient();
            var config     = new TfeConfig(configuration["teamToken"], httpClient);

            var client = new TfeClient(config);

            var request = new OAuthClientsRequest();

            request.Data.Attributes.ServiceProvider  = "github";
            request.Data.Attributes.HttpUrl          = new Uri("https://github.com");
            request.Data.Attributes.ApiUrl           = new Uri("https://api.github.com");
            request.Data.Attributes.OAuthTokenString = configuration["gitToken"];

            var result = await client.OAuthClient.CreateAsync(organizationName, request);

            Assert.NotNull(result);
            IntegrationContext.OAuthTokenId = result.Data.Relationships.OAuthTokens.Data[0].Id;
        }
示例#5
0
        public async Task Get_Workspace()
        {
            var workspaceId = "ws-mD5bmJ8ry3uTzuHi";

            var httpClient = new TestHttpClient()
            {
                Handler = (entry) =>
                {
                    TestHttpClient.SendResponse("Workspace/GetWorkspace", entry);
                }
            };

            var config = new TfeConfig("faketoken", httpClient);

            var client = new TfeClient(config);

            var result = await client.Workspace.GetAsync(workspaceId);

            Assert.NotNull(result);
            Assert.Equal(workspaceId, result.Data.Id);
        }
示例#6
0
        public async Task CreateRun()
        {
            var organizationName = configuration["organizationName"];

            var httpClient = new HttpClient();
            var config     = new TfeConfig(configuration["teamToken"], httpClient);

            var client = new TfeClient(config);

            var request = new RunsRequest();

            request.Data.Attributes.IsDestroy = false;
            request.Data.Attributes.Message   = "Triggered by Integration Test";
            request.Data.Relationships.Workspace.Data.Type = "workspaces";
            request.Data.Relationships.Workspace.Data.Id   = IntegrationContext.WorkspaceId;

            var result = await client.Run.CreateAsync(request);

            Assert.NotNull(result);
            IntegrationContext.RunId = result.Data.Id;
        }
示例#7
0
        public async Task Get_OAuthClient()
        {
            var oauthClientId = "oc-XKFwG6ggfA9n7t1K";

            var httpClient = new TestHttpClient()
            {
                Handler = (entry) =>
                {
                    TestHttpClient.SendResponse("OAuthClient/GetOAuthClient", entry);
                }
            };

            var config = new TfeConfig("faketoken", httpClient);

            var client = new TfeClient(config);

            var result = await client.OAuthClient.GetAsync(oauthClientId);

            Assert.NotNull(result);
            Assert.Equal(oauthClientId, result.Data.Id);
        }
示例#8
0
        public async Task List_OAuthToken()
        {
            var httpClient = new TestHttpClient()
            {
                Handler = (entry) =>
                {
                    TestHttpClient.SendResponse("OAuthToken/ListOAuthTokens", entry);
                }
            };

            var config = new TfeConfig("faketoken", httpClient);

            var client = new TfeClient(config);

            var oauthclientid = "oc-GhHqb5rkeK19mLB8";
            var result        = await client.OAuthToken.ListAsync(oauthclientid);

            Assert.NotNull(result);
            Assert.Single(result.Data);
            Assert.Equal("ot-hmAyP66qk2AMVdbJ", result.Data[0].Id);
            Assert.Equal(oauthclientid, result.Data[0].Relationships.OAuthClient.OauthClientData.Id);
        }
示例#9
0
        public async Task List_OAuthClient()
        {
            var httpClient = new TestHttpClient()
            {
                Handler = (entry) =>
                {
                    TestHttpClient.SendResponse("OAuthClient/ListOAuthClient", entry);
                }
            };

            var config = new TfeConfig("faketoken", httpClient);

            var client = new TfeClient(config);

            var organizationName = "my-organization";
            var result           = await client.OAuthClient.ListAsync(organizationName);

            Assert.NotNull(result);
            Assert.Single(result.Data);
            Assert.Equal("oc-XKFwG6ggfA9n7t1K", result.Data[0].Id);
            Assert.Equal(organizationName, result.Data[0].Relationships.Organization.Data.Id);
        }
示例#10
0
        /// <summary>
        /// CreateWorkspaceVariable
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <param name="description"></param>
        /// <param name="env"></param>
        /// <param name="client"></param>
        /// <returns></returns>
        private async Task CreateWorkspaceVariable(string key, string value, string description, bool env, TfeClient client)
        {
            var request = new WorkspaceVariablesRequest();

            request.Data.Attributes.Key         = key;
            request.Data.Attributes.Value       = value;
            request.Data.Attributes.Description = description;
            request.Data.Attributes.Category    = !env ? "terraform" : "env";
            request.Data.Attributes.Hcl         = false;
            request.Data.Attributes.Sensitive   = env;

            var result = await client.WorkspaceVariable.CreateAsync(IntegrationContext.WorkspaceId, request);

            Assert.NotNull(result);
        }