public async Task SetUsageExportBucketAsync(
        // TODO(developer): Set your own default values for these parameters or pass different values when calling this method.
        string projectId        = "your-project-id",
        string bucketName       = "usage-export-bucket",
        string reportNamePrefix = "usage-report")
    {
        if (string.IsNullOrEmpty(reportNamePrefix))
        {
            Console.WriteLine(
                $"Setting {nameof(UsageExportLocation.ReportNamePrefix)} " +
                $"to null or empty values causes the report to have the default prefix of `usage_gce`.");
        }

        UsageExportLocation exportLocation = new UsageExportLocation
        {
            BucketName       = bucketName,
            ReportNamePrefix = reportNamePrefix,
        };

        // Initialize the client that will be used to send project-related requests.
        // You should reuse the same client for multiple requests.
        ProjectsClient client = await ProjectsClient.CreateAsync();

        Operation operation = await client.SetUsageExportBucketAsync(projectId, exportLocation);

        // Wait for the operation to complete using client-side polling.
        // The server-side operation is not affected by polling,
        // and might finish successfully even if polling times out.
        await operation.PollUntilCompletedAsync(projectId);
    }
Esempio n. 2
0
            public async Task EnsureNonNullOrEmptyArguments()
            {
                var client = new ProjectsClient(Substitute.For <IApiConnection>());

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null));

                await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization(""));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, ApiOptions.None));

                await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", ApiOptions.None));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", (ApiOptions)null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, new ProjectRequest(ItemStateFilter.All)));

                await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", new ProjectRequest(ItemStateFilter.All)));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", (ProjectRequest)null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization(null, new ProjectRequest(ItemStateFilter.All), ApiOptions.None));

                await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllForOrganization("", new ProjectRequest(ItemStateFilter.All), ApiOptions.None));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", new ProjectRequest(ItemStateFilter.All), null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForOrganization("org", null, ApiOptions.None));
            }
        public void CorrectRequestForGetAll()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            client.GetAll();
            factory.Received().GetPaginated <Project>("projects", null, "projects");
        }
Esempio n. 4
0
            public async Task DeletesCorrectUrl()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectsClient(connection);

                await client.Delete(1);

                connection.Connection.Received().Delete(Arg.Is <Uri>(u => u.ToString() == "projects/1"), Arg.Any <object>(), "application/vnd.github.inertia-preview+json");
            }
Esempio n. 5
0
        public CardsRepository()
        {
            ApiConnection connection = new ApiConnection(new Connection(new ProductHeaderValue("Test")));
            var           token      = new Credentials(GithubToken);

            connection.Connection.Credentials = token;
            _client         = new ProjectCardsClient(connection);
            _projectsClient = new ProjectsClient(connection);
        }
        public void CorrectRequestForGetDefault()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            client.GetDefault();

            factory.Received().ExecuteRequest <Project>("projects/default", null, null, "project");
        }
Esempio n. 7
0
            public async Task RequestCorrectURL()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectsClient(connection);

                await client.Get(1);

                connection.Received().Get <Project>(Arg.Is <Uri>(u => u.ToString() == "projects/1"), null, "application/vnd.github.inertia-preview+json");
            }
Esempio n. 8
0
            public async Task PostsToCorrectURL()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectsClient(connection);
                var newProject = new NewProject("someName");

                await client.CreateForOrganization("org", newProject);

                connection.Received().Post <Project>(Arg.Is <Uri>(u => u.ToString() == "orgs/org/projects"), newProject, "application/vnd.github.inertia-preview+json");
            }
Esempio n. 9
0
            public async Task PostsToCorrectURL()
            {
                var connection    = Substitute.For <IApiConnection>();
                var client        = new ProjectsClient(connection);
                var updateProject = new ProjectUpdate();

                await client.Update(1, updateProject);

                connection.Received().Patch <Project>(Arg.Is <Uri>(u => u.ToString() == "projects/1"), updateProject, "application/vnd.github.inertia-preview+json");
            }
Esempio n. 10
0
 /// <summary>Snippet for GetXpnResources</summary>
 public void GetXpnResources()
 {
     // Snippet: GetXpnResources(string, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     // Make the request
     ProjectsGetXpnResources response = projectsClient.GetXpnResources(project);
     // End snippet
 }
        public void CorrectRequestForDelete()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            client.Delete("notarealid");

            var parameters = Arg.Is <List <Parameter> >(list => (string)list[0].Value == "notarealid");

            factory.Received().ExecuteRaw("projects/{project_id}", parameters, null, Method.DELETE);
        }
Esempio n. 12
0
 /// <summary>Snippet for DisableXpnHost</summary>
 public void DisableXpnHost()
 {
     // Snippet: DisableXpnHost(string, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     // Make the request
     Operation response = projectsClient.DisableXpnHost(project);
     // End snippet
 }
        public void CorrectRequireForCreate()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            var data = new Models.Requests.Project();

            client.Create(data);

            factory.Received().ExecuteRequest <Project>("projects", null, data, "project", Method.POST);
        }
        public void CorrectRequestForUpdateDefault()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            var data = new Models.Requests.UpdateProject();

            client.UpdateDefault(data);

            factory.Received().ExecuteRequest <Project>("projects/default", null, data, "project", Method.PUT);
        }
        public void CorrectRequestForGet()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            client.Get("project:abc123");

            var parameters = Arg.Is <List <Parameter> >(list => (string)list[0].Value == "project:abc123");

            factory.Received().ExecuteRequest <Project>("projects/{project_id}", parameters, null, "project");
        }
Esempio n. 16
0
            public async Task EnsuresNonNullArguments()
            {
                var client     = new ProjectsClient(Substitute.For <IApiConnection>());
                var newProject = new NewProject("someName");

                await Assert.ThrowsAsync <ArgumentException>(() => client.CreateForOrganization("", newProject));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.CreateForOrganization("org", null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.CreateForOrganization(null, newProject));
            }
Esempio n. 17
0
            public async Task EnsureNonNullArgumentsWithRepositoryId()
            {
                var client = new ProjectsClient(Substitute.For <IApiConnection>());

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, (ApiOptions)null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, (ProjectRequest)null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, new ProjectRequest(ItemStateFilter.All), null));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllForRepository(1, null, ApiOptions.None));
            }
Esempio n. 18
0
 /// <summary>Snippet for SetCommonInstanceMetadata</summary>
 public void SetCommonInstanceMetadata()
 {
     // Snippet: SetCommonInstanceMetadata(string, Metadata, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string   project          = "";
     Metadata metadataResource = new Metadata();
     // Make the request
     Operation response = projectsClient.SetCommonInstanceMetadata(project, metadataResource);
     // End snippet
 }
Esempio n. 19
0
 /// <summary>Snippet for SetDefaultNetworkTier</summary>
 public void SetDefaultNetworkTier()
 {
     // Snippet: SetDefaultNetworkTier(string, ProjectsSetDefaultNetworkTierRequest, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     ProjectsSetDefaultNetworkTierRequest projectsSetDefaultNetworkTierRequestResource = new ProjectsSetDefaultNetworkTierRequest();
     // Make the request
     Operation response = projectsClient.SetDefaultNetworkTier(project, projectsSetDefaultNetworkTierRequestResource);
     // End snippet
 }
Esempio n. 20
0
 /// <summary>Snippet for EnableXpnResource</summary>
 public void EnableXpnResource()
 {
     // Snippet: EnableXpnResource(string, ProjectsEnableXpnResourceRequest, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     ProjectsEnableXpnResourceRequest projectsEnableXpnResourceRequestResource = new ProjectsEnableXpnResourceRequest();
     // Make the request
     Operation response = projectsClient.EnableXpnResource(project, projectsEnableXpnResourceRequestResource);
     // End snippet
 }
Esempio n. 21
0
 /// <summary>Snippet for MoveInstance</summary>
 public void MoveInstance()
 {
     // Snippet: MoveInstance(string, InstanceMoveRequest, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     InstanceMoveRequest instanceMoveRequestResource = new InstanceMoveRequest();
     // Make the request
     Operation response = projectsClient.MoveInstance(project, instanceMoveRequestResource);
     // End snippet
 }
Esempio n. 22
0
 /// <summary>Snippet for ListXpnHosts</summary>
 public void ListXpnHosts()
 {
     // Snippet: ListXpnHosts(string, ProjectsListXpnHostsRequest, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     ProjectsListXpnHostsRequest projectsListXpnHostsRequestResource = new ProjectsListXpnHostsRequest();
     // Make the request
     XpnHostList response = projectsClient.ListXpnHosts(project, projectsListXpnHostsRequestResource);
     // End snippet
 }
Esempio n. 23
0
 /// <summary>Snippet for SetUsageExportBucket</summary>
 public void SetUsageExportBucket()
 {
     // Snippet: SetUsageExportBucket(string, UsageExportLocation, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     string project = "";
     UsageExportLocation usageExportLocationResource = new UsageExportLocation();
     // Make the request
     Operation response = projectsClient.SetUsageExportBucket(project, usageExportLocationResource);
     // End snippet
 }
Esempio n. 24
0
        /// <summary>Snippet for ListXpnHostsAsync</summary>
        public async Task ListXpnHostsRequestObjectAsync()
        {
            // Snippet: ListXpnHostsAsync(ListXpnHostsProjectsRequest, CallSettings)
            // Create client
            ProjectsClient projectsClient = await ProjectsClient.CreateAsync();

            // Initialize request argument(s)
            ListXpnHostsProjectsRequest request = new ListXpnHostsProjectsRequest
            {
                OrderBy = "",
                Project = "",
                ProjectsListXpnHostsRequestResource = new ProjectsListXpnHostsRequest(),
                Filter = "",
                ReturnPartialSuccess = false,
            };
            // Make the request
            PagedAsyncEnumerable <XpnHostList, Project> response = projectsClient.ListXpnHostsAsync(request);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((Project item) =>
            {
                // Do something with each item
                Console.WriteLine(item);
            });

            // Or iterate over pages (of server-defined size), performing one RPC per page
            await response.AsRawResponses().ForEachAsync((XpnHostList page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (Project item in page)
                {
                    // Do something with each item
                    Console.WriteLine(item);
                }
            });

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int            pageSize   = 10;
            Page <Project> singlePage = await response.ReadPageAsync(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (Project item in singlePage)
            {
                // Do something with each item
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }
Esempio n. 25
0
            public async Task RequestCorrectUrlWithRequestParameterWithRepositoryId()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectsClient(connection);

                await client.GetAllForRepository(1, new ProjectRequest(ItemStateFilter.All));

                connection.Received().GetAll <Project>(
                    Arg.Is <Uri>(u => u.ToString() == "repositories/1/projects"),
                    Arg.Is <Dictionary <string, string> >(d => d.ContainsKey("state")),
                    "application/vnd.github.inertia-preview+json",
                    Args.ApiOptions);
            }
Esempio n. 26
0
            public async Task RequestCorrectUrlWithRepositoryId()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new ProjectsClient(connection);

                await client.GetAllForRepository(1);

                connection.Received().GetAll <Project>(
                    Arg.Is <Uri>(u => u.ToString() == "repositories/1/projects"),
                    Args.EmptyDictionary,
                    "application/vnd.github.inertia-preview+json",
                    Args.ApiOptions);
            }
Esempio n. 27
0
 /// <summary>Snippet for GetXpnHost</summary>
 public void GetXpnHostRequestObject()
 {
     // Snippet: GetXpnHost(GetXpnHostProjectRequest, CallSettings)
     // Create client
     ProjectsClient projectsClient = ProjectsClient.Create();
     // Initialize request argument(s)
     GetXpnHostProjectRequest request = new GetXpnHostProjectRequest {
         Project = "",
     };
     // Make the request
     Project response = projectsClient.GetXpnHost(request);
     // End snippet
 }
        public void CorrectRequestForPatch()
        {
            var factory = Substitute.For <IConnection>();
            var client  = new ProjectsClient(factory);

            var data = new Models.Requests.PatchProject();

            client.Patch("project:abc123", data);

            var parameters = Arg.Is <List <Parameter> >(list => (string)list[0].Value == "project:abc123");

            factory.Received().ExecuteRequest <Project>("projects/{project_id}", parameters, data, "project", Method.PATCH);
        }
Esempio n. 29
0
        /// <summary>Snippet for DisableXpnHostAsync</summary>
        public async Task DisableXpnHostAsync()
        {
            // Snippet: DisableXpnHostAsync(string, CallSettings)
            // Additional: DisableXpnHostAsync(string, CancellationToken)
            // Create client
            ProjectsClient projectsClient = await ProjectsClient.CreateAsync();

            // Initialize request argument(s)
            string project = "";
            // Make the request
            Operation response = await projectsClient.DisableXpnHostAsync(project);

            // End snippet
        }
Esempio n. 30
0
        public EnterpriseYouTrackClient(Connection apiConnection)
        {
            ApiConnection = apiConnection;
            var client = new EnterpriseYouTrackRestClient(apiConnection);

            //RepositoriesClient = new EnterpriseRepositoriesClient(client, ApiConnection);
            UserClient     = new EnterpriseUserClient(client, ApiConnection);
            ProjectsClient = new ProjectsClient(client, ApiConnection);
            IssuesClient   = new IssuesClient(client, ApiConnection);

            UserManagementClient = new UserManagementClient(client, ApiConnection);
            //PullRequestsClient = new EnterprisePullRequestsClient(client, ApiConnection);
            //TeamsClient = new EnterpriseTeamsClient(client, ApiConnection);
        }