예제 #1
0
 public void Factories_GetGitHubAccessToken()
 {
     RunTest("Factories_GetGitHubAccessToken", (example, client, responseCode) =>
     {
         GitHubAccessTokenRequest request   = new GitHubAccessTokenRequest("someCode", "https://github.com/login/oauth/access_token");
         GitHubAccessTokenResponse resource = client.Factories.GetGitHubAccessToken(RGN(example), FN(example), request);
         CheckResponseBody(example, client, responseCode, resource);
     });
 }
예제 #2
0
        public async Task TestGetWorkspace()
        {
            WorkspaceGitRepoManagementClient client = TriggerRunClient();
            string clientID    = "";
            string accessToken = "";
            GitHubAccessTokenRequest  request  = new GitHubAccessTokenRequest(clientID, accessToken, "https://github.com/login/oauth/access_token");
            GitHubAccessTokenResponse response = await client.GetGitHubAccessTokenAsync(request);

            Assert.NotNull(response.GitHubAccessToken);
        }
예제 #3
0
 public virtual Response <GitHubAccessTokenResponse> GetGitHubAccessToken(GitHubAccessTokenRequest gitHubAccessTokenRequest, CancellationToken cancellationToken = default)
 {
     using var scope = _clientDiagnostics.CreateScope("WorkspaceGitRepoManagementClient.GetGitHubAccessToken");
     scope.Start();
     try
     {
         return(RestClient.GetGitHubAccessToken(gitHubAccessTokenRequest, cancellationToken));
     }
     catch (Exception e)
     {
         scope.Failed(e);
         throw;
     }
 }
예제 #4
0
        internal HttpMessage CreateGetGitHubAccessTokenRequest(GitHubAccessTokenRequest gitHubAccessTokenRequest)
        {
            var message = _pipeline.CreateMessage();
            var request = message.Request;

            request.Method = RequestMethod.Post;
            var uri = new RawRequestUriBuilder();

            uri.AppendRaw(endpoint, false);
            uri.AppendPath("/getGitHubAccessToken", false);
            uri.AppendQuery("api-version", apiVersion, true);
            request.Uri = uri;
            request.Headers.Add("Content-Type", "application/json");
            request.Headers.Add("Accept", "application/json");
            var content = new Utf8JsonRequestContent();

            content.JsonWriter.WriteObjectValue(gitHubAccessTokenRequest);
            request.Content = content;
            return(message);
        }
예제 #5
0
 private void CaptureFactories_GetGitHubAccessToken()
 {
     interceptor.CurrentExampleName = "Factories_GetGitHubAccessToken";
     GitHubAccessTokenRequest  request  = new GitHubAccessTokenRequest("someCode", "https://github.com/login/oauth/access_token");//replace someCode with real code from GitHub
     GitHubAccessTokenResponse response = client.Factories.GetGitHubAccessToken(secrets.ResourceGroupName, secrets.FactoryName, request);
 }
예제 #6
0
        public async Task <Response <GitHubAccessTokenResponse> > GetGitHubAccessTokenAsync(GitHubAccessTokenRequest gitHubAccessTokenRequest, CancellationToken cancellationToken = default)
        {
            if (gitHubAccessTokenRequest == null)
            {
                throw new ArgumentNullException(nameof(gitHubAccessTokenRequest));
            }

            using var message = CreateGetGitHubAccessTokenRequest(gitHubAccessTokenRequest);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                GitHubAccessTokenResponse value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = GitHubAccessTokenResponse.DeserializeGitHubAccessTokenResponse(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }
예제 #7
0
 /// <summary>
 /// Get GitHub Access Token.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='factoryName'>
 /// The factory name.
 /// </param>
 /// <param name='gitHubAccessTokenRequest'>
 /// Get GitHub access token request definition.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <GitHubAccessTokenResponse> GetGitHubAccessTokenAsync(this IFactoriesOperations operations, string resourceGroupName, string factoryName, GitHubAccessTokenRequest gitHubAccessTokenRequest, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetGitHubAccessTokenWithHttpMessagesAsync(resourceGroupName, factoryName, gitHubAccessTokenRequest, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
예제 #8
0
 /// <summary>
 /// Get GitHub Access Token.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The resource group name.
 /// </param>
 /// <param name='factoryName'>
 /// The factory name.
 /// </param>
 /// <param name='gitHubAccessTokenRequest'>
 /// Get GitHub access token request definition.
 /// </param>
 public static GitHubAccessTokenResponse GetGitHubAccessToken(this IFactoriesOperations operations, string resourceGroupName, string factoryName, GitHubAccessTokenRequest gitHubAccessTokenRequest)
 {
     return(operations.GetGitHubAccessTokenAsync(resourceGroupName, factoryName, gitHubAccessTokenRequest).GetAwaiter().GetResult());
 }