public async stt::Task GetVulnerabilityReportResourceNamesAsync() { moq::Mock <OsConfigZonalService.OsConfigZonalServiceClient> mockGrpcClient = new moq::Mock <OsConfigZonalService.OsConfigZonalServiceClient>(moq::MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object); GetVulnerabilityReportRequest request = new GetVulnerabilityReportRequest { VulnerabilityReportName = VulnerabilityReportName.FromProjectLocationInstance("[PROJECT]", "[LOCATION]", "[INSTANCE]"), }; VulnerabilityReport expectedResponse = new VulnerabilityReport { VulnerabilityReportName = VulnerabilityReportName.FromProjectLocationInstance("[PROJECT]", "[LOCATION]", "[INSTANCE]"), Vulnerabilities = { new VulnerabilityReport.Types.Vulnerability(), }, UpdateTime = new wkt::Timestamp(), }; mockGrpcClient.Setup(x => x.GetVulnerabilityReportAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <VulnerabilityReport>(stt::Task.FromResult(expectedResponse), null, null, null, null)); OsConfigZonalServiceClient client = new OsConfigZonalServiceClientImpl(mockGrpcClient.Object, null); VulnerabilityReport responseCallSettings = await client.GetVulnerabilityReportAsync(request.VulnerabilityReportName, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None)); xunit::Assert.Same(expectedResponse, responseCallSettings); VulnerabilityReport responseCancellationToken = await client.GetVulnerabilityReportAsync(request.VulnerabilityReportName, st::CancellationToken.None); xunit::Assert.Same(expectedResponse, responseCancellationToken); mockGrpcClient.VerifyAll(); }
public void GetVulnerabilityReportResourceNames() { moq::Mock <OsConfigZonalService.OsConfigZonalServiceClient> mockGrpcClient = new moq::Mock <OsConfigZonalService.OsConfigZonalServiceClient>(moq::MockBehavior.Strict); mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object); GetVulnerabilityReportRequest request = new GetVulnerabilityReportRequest { VulnerabilityReportName = VulnerabilityReportName.FromProjectLocationInstance("[PROJECT]", "[LOCATION]", "[INSTANCE]"), }; VulnerabilityReport expectedResponse = new VulnerabilityReport { VulnerabilityReportName = VulnerabilityReportName.FromProjectLocationInstance("[PROJECT]", "[LOCATION]", "[INSTANCE]"), Vulnerabilities = { new VulnerabilityReport.Types.Vulnerability(), }, UpdateTime = new wkt::Timestamp(), }; mockGrpcClient.Setup(x => x.GetVulnerabilityReport(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse); OsConfigZonalServiceClient client = new OsConfigZonalServiceClientImpl(mockGrpcClient.Object, null); VulnerabilityReport response = client.GetVulnerabilityReport(request.VulnerabilityReportName); xunit::Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public async Task <VulnerabilityReport> AddChecklistVulnerabilityData(VulnerabilityReport data) { try { await _context.VulnerabilityReports.InsertOneAsync(data); return(data); } catch (Exception ex) { // log or manage the exception throw ex; } }
public async Task <bool> UpdateChecklistVulnerabilityData(VulnerabilityReport data) { try { // get the old InternalId as we are going off InternalId and SystemGroupId for this var oldVulnData = await GetChecklistVulnerabilityData(data.systemGroupId, data.artifactId, data.vulnid); if (oldVulnData != null) { data.InternalId = oldVulnData.InternalId; } var filter = Builders <VulnerabilityReport> .Filter.Eq(s => s.InternalId, data.InternalId); var actionResult = await _context.VulnerabilityReports.ReplaceOneAsync(filter, data); if (actionResult.ModifiedCount == 0) //never was entered, so Insert { data.created = DateTime.Now; var result = await AddChecklistVulnerabilityData(data); if (result.InternalId != null && !result.InternalId.ToString().StartsWith("0000")) { return(true); } else { return(false); } } return(actionResult.IsAcknowledged && actionResult.ModifiedCount > 0); } catch (Exception ex) { // log or manage the exception throw ex; } }