/// <summary>Snippet for CreateCompany</summary>
 public void CreateCompanyRequestObject()
 {
     // Snippet: CreateCompany(CreateCompanyRequest, CallSettings)
     // Create client
     CompanyServiceClient companyServiceClient = CompanyServiceClient.Create();
     // Initialize request argument(s)
     CreateCompanyRequest request = new CreateCompanyRequest
     {
         ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
         Company            = new Company(),
     };
     // Make the request
     Company response = companyServiceClient.CreateCompany(request);
     // End snippet
 }
Пример #2
0
        /// <summary>Snippet for CreateProfileAsync</summary>
        public async Task CreateProfileResourceNamesAsync()
        {
            // Snippet: CreateProfileAsync(TenantName, Profile, CallSettings)
            // Additional: CreateProfileAsync(TenantName, Profile, CancellationToken)
            // Create client
            ProfileServiceClient profileServiceClient = await ProfileServiceClient.CreateAsync();

            // Initialize request argument(s)
            TenantName parent  = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]");
            Profile    profile = new Profile();
            // Make the request
            Profile response = await profileServiceClient.CreateProfileAsync(parent, profile);

            // End snippet
        }
        /// <summary>Snippet for CreateCompanyAsync</summary>
        public async Task CreateCompanyResourceNames1Async()
        {
            // Snippet: CreateCompanyAsync(TenantName, Company, CallSettings)
            // Additional: CreateCompanyAsync(TenantName, Company, CancellationToken)
            // Create client
            CompanyServiceClient companyServiceClient = await CompanyServiceClient.CreateAsync();

            // Initialize request argument(s)
            TenantName parent  = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]");
            Company    company = new Company();
            // Make the request
            Company response = await companyServiceClient.CreateCompanyAsync(parent, company);

            // End snippet
        }
Пример #4
0
 /// <summary>Snippet for CreateProfile</summary>
 public void CreateProfileRequestObject()
 {
     // Snippet: CreateProfile(CreateProfileRequest, CallSettings)
     // Create client
     ProfileServiceClient profileServiceClient = ProfileServiceClient.Create();
     // Initialize request argument(s)
     CreateProfileRequest request = new CreateProfileRequest
     {
         ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
         Profile            = new Profile(),
     };
     // Make the request
     Profile response = profileServiceClient.CreateProfile(request);
     // End snippet
 }
        /// <summary>Snippet for CreateClientEventAsync</summary>
        public async Task CreateClientEventResourceNames1Async()
        {
            // Snippet: CreateClientEventAsync(TenantName, ClientEvent, CallSettings)
            // Additional: CreateClientEventAsync(TenantName, ClientEvent, CancellationToken)
            // Create client
            EventServiceClient eventServiceClient = await EventServiceClient.CreateAsync();

            // Initialize request argument(s)
            TenantName  parent      = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]");
            ClientEvent clientEvent = new ClientEvent();
            // Make the request
            ClientEvent response = await eventServiceClient.CreateClientEventAsync(parent, clientEvent);

            // End snippet
        }
        /// <summary>Snippet for DeleteTenant</summary>
        public void DeleteTenantRequestObject()
        {
            // Snippet: DeleteTenant(DeleteTenantRequest, CallSettings)
            // Create client
            TenantServiceClient tenantServiceClient = TenantServiceClient.Create();
            // Initialize request argument(s)
            DeleteTenantRequest request = new DeleteTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };

            // Make the request
            tenantServiceClient.DeleteTenant(request);
            // End snippet
        }
        /// <summary>Snippet for ListCompanies</summary>
        public void ListCompaniesRequestObject()
        {
            // Snippet: ListCompanies(ListCompaniesRequest, CallSettings)
            // Create client
            CompanyServiceClient companyServiceClient = CompanyServiceClient.Create();
            // Initialize request argument(s)
            ListCompaniesRequest request = new ListCompaniesRequest
            {
                ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                RequireOpenJobs    = false,
            };
            // Make the request
            PagedEnumerable <ListCompaniesResponse, Company> response = companyServiceClient.ListCompanies(request);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (Company item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListCompaniesResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (Company 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 <Company> singlePage = response.ReadPage(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (Company 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
        }
        public void DeleteTenantResourceNames()
        {
            moq::Mock <TenantService.TenantServiceClient> mockGrpcClient = new moq::Mock <TenantService.TenantServiceClient>(moq::MockBehavior.Strict);
            DeleteTenantRequest request = new DeleteTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };
            wkt::Empty expectedResponse = new wkt::Empty {
            };

            mockGrpcClient.Setup(x => x.DeleteTenant(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);

            client.DeleteTenant(request.TenantName);
            mockGrpcClient.VerifyAll();
        }
        /// <summary>Snippet for DeleteTenantAsync</summary>
        public async Task DeleteTenantRequestObjectAsync()
        {
            // Snippet: DeleteTenantAsync(DeleteTenantRequest, CallSettings)
            // Additional: DeleteTenantAsync(DeleteTenantRequest, CancellationToken)
            // Create client
            TenantServiceClient tenantServiceClient = await TenantServiceClient.CreateAsync();

            // Initialize request argument(s)
            DeleteTenantRequest request = new DeleteTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };
            // Make the request
            await tenantServiceClient.DeleteTenantAsync(request);

            // End snippet
        }
Пример #10
0
        public async Task DeleteTenantAsync()
        {
            Mock <TenantService.TenantServiceClient> mockGrpcClient = new Mock <TenantService.TenantServiceClient>(MockBehavior.Strict);
            DeleteTenantRequest expectedRequest = new DeleteTenantRequest
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
            };
            Empty expectedResponse = new Empty();

            mockGrpcClient.Setup(x => x.DeleteTenantAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <Empty>(Task.FromResult(expectedResponse), null, null, null, null));
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            TenantName          name   = new TenantName("[PROJECT]", "[TENANT]");
            await client.DeleteTenantAsync(name);

            mockGrpcClient.VerifyAll();
        }
Пример #11
0
        public void DeleteTenant()
        {
            Mock <TenantService.TenantServiceClient> mockGrpcClient = new Mock <TenantService.TenantServiceClient>(MockBehavior.Strict);
            DeleteTenantRequest expectedRequest = new DeleteTenantRequest
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
            };
            Empty expectedResponse = new Empty();

            mockGrpcClient.Setup(x => x.DeleteTenant(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            TenantName          name   = new TenantName("[PROJECT]", "[TENANT]");

            client.DeleteTenant(name);
            mockGrpcClient.VerifyAll();
        }
        // [START job_search_custom_ranking_search]
        public static object CustomRankingSearch(string projectId, string tenantId)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       name             = new TenantName(projectId, tenantId);

            string          domain          = "www.example.com";
            string          sessionId       = "Hashed session identifier";
            string          userId          = "Hashed user identifier";
            RequestMetadata requestMetadata = new RequestMetadata
            {
                Domain    = domain,
                SessionId = sessionId,
                UserId    = userId
            };

            CustomRankingInfo customRankingInfo = new CustomRankingInfo
            {
                ImportanceLevel = ImportanceLevel.Extreme,
                // Custom ranking supports math operators, and Field name can be CPC or Freshness
                // https://cloud.google.com/talent-solution/job-search/docs/custom-ranking#how_to_use
                RankingExpression = "(someFieldLong + 25) * 0.25"
            };
            string orderBy = "custom_ranking desc";

            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantOrProjectNameOneof = TenantOrProjectNameOneof.From(name),
                CustomRankingInfo = customRankingInfo,
                RequestMetadata   = requestMetadata,
                OrderBy           = orderBy
            };

            var response = jobServiceClient.SearchJobs(request);

            foreach (var result in response)
            {
                Console.WriteLine($"Job summary: {result.JobSummary}");
                Console.WriteLine($"Job title snippet: {result.JobTitleSnippet}");
                Job job = result.Job;
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job title: {job.Title}");
            }

            return(0);
        }
        /// <summary>Snippet for ListCompaniesAsync</summary>
        public async Task ListCompaniesResourceNames1Async()
        {
            // Snippet: ListCompaniesAsync(TenantName, string, int?, CallSettings)
            // Create client
            CompanyServiceClient companyServiceClient = await CompanyServiceClient.CreateAsync();

            // Initialize request argument(s)
            TenantName parent = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]");
            // Make the request
            PagedAsyncEnumerable <ListCompaniesResponse, Company> response = companyServiceClient.ListCompaniesAsync(parent);

            // Iterate over all response items, lazily performing RPCs as required
            await response.ForEachAsync((Company 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((ListCompaniesResponse page) =>
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (Company 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 <Company> 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 (Company 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
        }
        /// <summary>Snippet for CreateCompanyAsync</summary>
        public async Task CreateCompanyRequestObjectAsync()
        {
            // Snippet: CreateCompanyAsync(CreateCompanyRequest, CallSettings)
            // Additional: CreateCompanyAsync(CreateCompanyRequest, CancellationToken)
            // Create client
            CompanyServiceClient companyServiceClient = await CompanyServiceClient.CreateAsync();

            // Initialize request argument(s)
            CreateCompanyRequest request = new CreateCompanyRequest
            {
                ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                Company            = new Company(),
            };
            // Make the request
            Company response = await companyServiceClient.CreateCompanyAsync(request);

            // End snippet
        }
        public async stt::Task DeleteTenantResourceNamesAsync()
        {
            moq::Mock <TenantService.TenantServiceClient> mockGrpcClient = new moq::Mock <TenantService.TenantServiceClient>(moq::MockBehavior.Strict);
            DeleteTenantRequest request = new DeleteTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };
            wkt::Empty expectedResponse = new wkt::Empty {
            };

            mockGrpcClient.Setup(x => x.DeleteTenantAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <wkt::Empty>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            await client.DeleteTenantAsync(request.TenantName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            await client.DeleteTenantAsync(request.TenantName, st::CancellationToken.None);

            mockGrpcClient.VerifyAll();
        }
Пример #16
0
        protected override void ProcessRecord()
        {
            var baseResourceList = new List <TenantResource>();

            var tenantNameList = TenantName?.ToList().ConvertAll(s => s.ToLower());

            if (tenantNameList == null)
            {
                baseResourceList.AddRange(_connection.Repository.Tenants.FindAll());
            }

            else
            {
                //Multiple values but one of them is wildcarded, which is not an accepted scenario (I.e -MachineName WebServer*, Database1)
                if (tenantNameList.Any(item => WildcardPattern.ContainsWildcardCharacters(item) && tenantNameList.Count > 1))
                {
                    throw OctoposhExceptions.ParameterCollectionHasRegularAndWildcardItem("TenantName");
                }
                //Only 1 wildcarded value (ie -MachineName WebServer*)
                else if (tenantNameList.Any(item => WildcardPattern.ContainsWildcardCharacters(item) && tenantNameList.Count == 1))
                {
                    var pattern = new WildcardPattern(tenantNameList.First());
                    baseResourceList.AddRange(_connection.Repository.Tenants.FindMany(t => pattern.IsMatch(t.Name.ToLower())));
                }
                //multiple non-wildcared values (i.e. -MachineName WebServer1,Database1)
                else if (!tenantNameList.Any(WildcardPattern.ContainsWildcardCharacters))
                {
                    baseResourceList.AddRange(_connection.Repository.Tenants.FindMany(t => tenantNameList.Contains(t.Name.ToLower())));
                }
            }

            if (ResourceOnly)
            {
                WriteObject(baseResourceList);
            }

            else
            {
                var converter  = new OutputConverter();
                var outputList = converter.GetOctopusTenant(baseResourceList);

                WriteObject(outputList);
            }
        }
Пример #17
0
        public ValidateResult Validate()
        {
            // Check properties.

            bool          result    = false;
            List <string> errorList = new List <string>();

            if (TenantName == "")
            {
                errorList.Add("Enter the Tenant Name.");
            }
            else if (!TenantName.EndsWith(".onmicrosoft.com"))
            {
                errorList.Add("Format of Tenant Name is invalid.\ne.g. contoso.onmicrosoft.com");
            }
            else if (!Util.IsValidUrl("https://login.windows.net/" + TenantName))
            {
                errorList.Add("Format of Tenant Name is invalid.\ne.g. contoso.onmicrosoft.com");
            }

            if (ClientID == "")
            {
                errorList.Add("Enter the Client ID.");
            }

            if (RedirectUri == "")
            {
                errorList.Add("Enter the Redirect URL.");
            }
            else if (!Util.IsValidUrl(RedirectUri))
            {
                errorList.Add("Format of Redirect URL is invalid.");
            }

            if (errorList.Count == 0)
            {
                result = true;
            }

            return(new ValidateResult()
            {
                IsValid = result, ErrorMessage = errorList.ToArray()
            });
        }
        /// <summary>Snippet for ListProfiles</summary>
        public void ListProfilesResourceNames()
        {
            // Snippet: ListProfiles(TenantName, string, int?, CallSettings)
            // Create client
            ProfileServiceClient profileServiceClient = ProfileServiceClient.Create();
            // Initialize request argument(s)
            TenantName parent = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]");
            // Make the request
            PagedEnumerable <ListProfilesResponse, Profile> response = profileServiceClient.ListProfiles(parent);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (Profile item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (ListProfilesResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (Profile 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 <Profile> singlePage = response.ReadPage(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (Profile 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
        }
Пример #19
0
        // [START job_search_list_companies_beta]
        public static object ListCompanies(string projectId, string tenantId)
        {
            CompanyServiceClient companyServiceClient = CompanyServiceClient.Create();
            TenantName           tenantName           = TenantName.FromProjectTenant(projectId, tenantId);

            ListCompaniesRequest request = new ListCompaniesRequest
            {
                ParentAsTenantName = tenantName
            };
            var companies = companyServiceClient.ListCompanies(request);

            foreach (var company in companies)
            {
                Console.WriteLine($"Company Name: {company.Name}");
                Console.WriteLine($"Display Name: {company.DisplayName}");
                Console.WriteLine($"External ID: {company.ExternalId}");
            }
            return(0);
        }
Пример #20
0
        // [START job_search_histogram_search]
        public static object HistogramSearchJobs(string projectId, string tenantId, string query)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       name             = TenantName.FromProjectTenant(projectId, tenantId);

            string          domain          = "www.example.com";
            string          sessionId       = "Hashed session identifier";
            string          userId          = "Hashed user identifier";
            RequestMetadata requestMetadata = new RequestMetadata
            {
                Domain    = domain,
                SessionId = sessionId,
                UserId    = userId
            };

            // Examples and formats are explained in the following link:
            // https://cloud.google.com/talent-solution/job-search/docs/reference/rest/v4beta1/projects.tenants.jobs/search#body.request_body.FIELDS.histogram_queries
            HistogramQuery histogramQuery = new HistogramQuery
            {
                HistogramQuery_ = query
            };

            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantName = name,
                RequestMetadata    = requestMetadata,
            };

            request.HistogramQueries.Add(histogramQuery);

            var response = jobServiceClient.SearchJobs(request);

            foreach (var result in response)
            {
                Console.WriteLine($"Job summary: {result.JobSummary}");
                Console.WriteLine($"Job title snippet: {result.JobTitleSnippet}");
                Job job = result.Job;
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job title: {job.Title}");
            }

            return(0);
        }
        public void GetTenantResourceNames()
        {
            moq::Mock <TenantService.TenantServiceClient> mockGrpcClient = new moq::Mock <TenantService.TenantServiceClient>(moq::MockBehavior.Strict);
            GetTenantRequest request = new GetTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };
            Tenant expectedResponse = new Tenant
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                ExternalId = "external_id9442680e",
            };

            mockGrpcClient.Setup(x => x.GetTenant(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            Tenant response            = client.GetTenant(request.TenantName);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
 /// <summary>Snippet for CompleteQuery</summary>
 public void CompleteQueryRequestObject()
 {
     // Snippet: CompleteQuery(CompleteQueryRequest, CallSettings)
     // Create client
     CompletionClient completionClient = CompletionClient.Create();
     // Initialize request argument(s)
     CompleteQueryRequest request = new CompleteQueryRequest
     {
         ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
         Query                = "",
         LanguageCodes        = { "", },
         PageSize             = 0,
         CompanyAsCompanyName = CompanyName.FromProjectTenantCompany("[PROJECT]", "[TENANT]", "[COMPANY]"),
         Scope                = CompleteQueryRequest.Types.CompletionScope.Unspecified,
         Type = CompleteQueryRequest.Types.CompletionType.Unspecified,
     };
     // Make the request
     CompleteQueryResponse response = completionClient.CompleteQuery(request);
     // End snippet
 }
Пример #23
0
        // [START job_search_list_jobs]
        public static object ListJobs(string projectId, string tenantId, string filter)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();

            TenantName      tenantName = TenantName.FromProjectTenant(projectId, tenantId);
            ListJobsRequest request    = new ListJobsRequest
            {
                ParentAsTenantName = tenantName,
                Filter             = filter
            };
            PagedEnumerable <ListJobsResponse, Job> jobs = jobServiceClient.ListJobs(request);

            foreach (var job in jobs)
            {
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job requisition ID: {job.RequisitionId}");
                Console.WriteLine($"Job title: {job.Title}");
                Console.WriteLine($"Job description: {job.Description}");
            }
            return(0);
        }
Пример #24
0
        public void GetTenant()
        {
            Mock <TenantService.TenantServiceClient> mockGrpcClient = new Mock <TenantService.TenantServiceClient>(MockBehavior.Strict);
            GetTenantRequest expectedRequest = new GetTenantRequest
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
            };
            Tenant expectedResponse = new Tenant
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
                ExternalId = "externalId-1153075697",
            };

            mockGrpcClient.Setup(x => x.GetTenant(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            TenantName          name   = new TenantName("[PROJECT]", "[TENANT]");
            Tenant response            = client.GetTenant(name);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Пример #25
0
        public async Task GetTenantAsync()
        {
            Mock <TenantService.TenantServiceClient> mockGrpcClient = new Mock <TenantService.TenantServiceClient>(MockBehavior.Strict);
            GetTenantRequest expectedRequest = new GetTenantRequest
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
            };
            Tenant expectedResponse = new Tenant
            {
                TenantName = new TenantName("[PROJECT]", "[TENANT]"),
                ExternalId = "externalId-1153075697",
            };

            mockGrpcClient.Setup(x => x.GetTenantAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <Tenant>(Task.FromResult(expectedResponse), null, null, null, null));
            TenantServiceClient client = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            TenantName          name   = new TenantName("[PROJECT]", "[TENANT]");
            Tenant response            = await client.GetTenantAsync(name);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Пример #26
0
        // [START job_search_autocomplete_job_title]
        public static object CompleteQuery(string projectId, string tenantId, string query)
        {
            CompletionClient     completionClient = CompletionClient.Create();
            TenantName           tenant           = TenantName.FromProjectTenant(projectId, tenantId);
            CompleteQueryRequest request          = new CompleteQueryRequest
            {
                ParentAsTenantName = tenant,
                Query         = query, // partial text for job title
                PageSize      = 5,     // limit for number of results
                LanguageCodes = { "en-US" } // language code
            };
            var response = completionClient.CompleteQuery(request);

            foreach (var result in response.CompletionResults)
            {
                Console.WriteLine($"Suggested title: {result.Suggestion}");
                // Suggestion type is JOB_TITLE or COMPANY_TITLE
                Console.WriteLine($"Suggestion type: {result.Type}");
            }

            return(0);
        }
        public async stt::Task CreateCompanyRequestObjectAsync()
        {
            moq::Mock <CompanyService.CompanyServiceClient> mockGrpcClient = new moq::Mock <CompanyService.CompanyServiceClient>(moq::MockBehavior.Strict);
            CreateCompanyRequest request = new CreateCompanyRequest
            {
                ParentAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                Company            = new Company(),
            };
            Company expectedResponse = new Company
            {
                CompanyName         = CompanyName.FromProjectTenantCompany("[PROJECT]", "[TENANT]", "[COMPANY]"),
                DisplayName         = "display_name137f65c2",
                ExternalId          = "external_id9442680e",
                Size                = CompanySize.Mini,
                HeadquartersAddress = "headquarters_address64cd7eb7",
                HiringAgency        = true,
                EeoText             = "eeo_text70a1a576",
                WebsiteUri          = "website_urid0c5dfce",
                CareerSiteUri       = "career_site_uri62d45b74",
                ImageUri            = "image_urieba3b1bc",
                KeywordSearchableJobCustomAttributes =
                {
                    "keyword_searchable_job_custom_attributese72ec77c",
                },
                DerivedInfo = new Company.Types.DerivedInfo(),
                Suspended   = true,
            };

            mockGrpcClient.Setup(x => x.CreateCompanyAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Company>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            CompanyServiceClient client  = new CompanyServiceClientImpl(mockGrpcClient.Object, null);
            Company responseCallSettings = await client.CreateCompanyAsync(request, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Company responseCancellationToken = await client.CreateCompanyAsync(request, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
        // [START job_search_create_job_custom_attributes]
        public static object CreateJobCustomAttributes(string projectId, string tenantId, string companyId, string requisitionId)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       tenantName       = TenantName.FromProjectTenant(projectId, tenantId);

            // Custom attribute can be string or numeric value, and can be filtered in search queries.
            // https://cloud.google.com/talent-solution/job-search/docs/custom-attributes
            CustomAttribute customAttributes = new CustomAttribute
            {
                Filterable = true
            };

            customAttributes.StringValues.Add("Internship");
            customAttributes.StringValues.Add("Intern");
            customAttributes.StringValues.Add("Apprenticeship");

            Job job = new Job
            {
                Company       = companyId,
                RequisitionId = requisitionId,
                Title         = "Software Developer I",
                Description   = "This is a description of this <i>wonderful</i> job!",
                LanguageCode  = "en-US"
            };

            job.CustomAttributes.Add("FOR_STUDENTS", customAttributes);

            CreateJobRequest request = new CreateJobRequest
            {
                ParentAsTenantName = tenantName,
                Job = job
            };

            Job response = jobServiceClient.CreateJob(request);

            Console.WriteLine($"Created Job: {response.Name}");
            return(0);
        }
        public async stt::Task GetTenantResourceNamesAsync()
        {
            moq::Mock <TenantService.TenantServiceClient> mockGrpcClient = new moq::Mock <TenantService.TenantServiceClient>(moq::MockBehavior.Strict);
            GetTenantRequest request = new GetTenantRequest
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
            };
            Tenant expectedResponse = new Tenant
            {
                TenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                ExternalId = "external_id9442680e",
            };

            mockGrpcClient.Setup(x => x.GetTenantAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <Tenant>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            TenantServiceClient client  = new TenantServiceClientImpl(mockGrpcClient.Object, null);
            Tenant responseCallSettings = await client.GetTenantAsync(request.TenantName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            Tenant responseCancellationToken = await client.GetTenantAsync(request.TenantName, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
        /// <summary>Snippet for CompleteQueryAsync</summary>
        public async Task CompleteQueryRequestObjectAsync()
        {
            // Snippet: CompleteQueryAsync(CompleteQueryRequest, CallSettings)
            // Additional: CompleteQueryAsync(CompleteQueryRequest, CancellationToken)
            // Create client
            CompletionClient completionClient = await CompletionClient.CreateAsync();

            // Initialize request argument(s)
            CompleteQueryRequest request = new CompleteQueryRequest
            {
                TenantAsTenantName = TenantName.FromProjectTenant("[PROJECT]", "[TENANT]"),
                Query                = "",
                LanguageCodes        = { "", },
                PageSize             = 0,
                CompanyAsCompanyName = CompanyName.FromProjectTenantCompany("[PROJECT]", "[TENANT]", "[COMPANY]"),
                Scope                = CompleteQueryRequest.Types.CompletionScope.Unspecified,
                Type = CompleteQueryRequest.Types.CompletionType.Unspecified,
            };
            // Make the request
            CompleteQueryResponse response = await completionClient.CompleteQueryAsync(request);

            // End snippet
        }