Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }