public async Task <IActionResult> Create(SiteInvestigationRequest siteInvestigationRequest, CancellationToken cancellationToken)
        {
            var order = new Order
            {
                CustomerName = siteInvestigationRequest.CustomerName
            };

            var investigationResult = new InvestigationResult
            {
                Domain = siteInvestigationRequest.Domain
            };

            var createdOrder = await _iBusinessServiceOrder.Create(order, cancellationToken);//ToDo: This should be in App Service

            var domainCheck = await _iBusinessServiceDomainCheck.Read(createdOrder.OrderId, siteInvestigationRequest.Domain, cancellationToken);

            if (domainCheck != null)
            {
                investigationResult.IpAddresses   = domainCheck.IpAddresses;
                investigationResult.IsDomainValid = true;

                foreach (var ipAddress in domainCheck.IpAddresses)
                {
                    ipAddress.IpScan = await _iBusinessServiceIpScan.Read(ipAddress.IpAddress, cancellationToken);
                }
            }



            //Todo: Below code is a cross cutting concern
            return(new ObjectResult(investigationResult)
            {
                StatusCode = (int)HttpStatusCode.Created
            });
        }
        public UnitTestAppServiceSiteInvestigationRequest()
        {
            _moqBusinessServiceDomainCheck = new Mock <IBusinessServiceDomainCheck>();
            _moqBusinessServiceOrder       = new Mock <IBusinessServiceOrder>();

            _order = new Order
            {
                OrderId      = 0,
                CustomerName = "UnitTest"
            };

            _domainCheck = new DomainCheck
            {
                Domain      = "UnitTestDomain",
                IpAddresses = new List <IpAddressCheck>()
                {
                    new IpAddressCheck
                    {
                        IpAddress = "0:0:0:1",
                        Ports     = new List <int>()
                        {
                            80
                        }
                    }
                }
            };

            _siteInvestigationRequest = new SiteInvestigationRequest
            {
                Domain       = "UnitTestDomain",
                CustomerName = "UnitTestCustomer"
            };
        }
Beispiel #3
0
        public void TestSiteInvestigationRequestDomainNameRestrictions(string customerName, string message)
        {
            var siteInvestigationRequest = new SiteInvestigationRequest();

            siteInvestigationRequest.CustomerName = customerName;
            var validationResults = ValidateModel(siteInvestigationRequest);

            Assert.True(validationResults.Any(a => a.MemberNames.Any(b => b == "CustomerName")), message);
        }
Beispiel #4
0
        public void TestSiteInvestigationRequestDomainName()
        {
            var siteInvestigationRequest = new SiteInvestigationRequest();

            siteInvestigationRequest.CustomerName = "UnitTest";
            var validationResults = ValidateModel(siteInvestigationRequest);

            Assert.DoesNotContain(validationResults, a => a.MemberNames.Contains("CustomerName"));
        }
 public async Task <IActionResult> Create(SiteInvestigationRequest siteInvestigationRequest, CancellationToken cancellationToken)
 {
     return(await _iAppServiceSiteInvestigationRequest.Create(siteInvestigationRequest, cancellationToken));
 }