Esempio n. 1
0
        public void ThenNewAdminIpRegulationIsSuccessfullyCreated()
        {
            var ipAddress = TestDataGenerator.GetRandomIpAddress();

            var data = new EditAdminIpRegulationData
            {
                IpAddress   = ipAddress,
                Description = TestDataGenerator.GetRandomString()
            };

            var result = AdminApiProxy.CreateIpRegulationInAdminIpRegulations(data);

            result.Should().NotBeNull();
            result.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.OK);
        }
Esempio n. 2
0
        public void ThenAdminIpRegulationIsSuccessfullyUpdated()
        {
            ScenarioContext.Current.Should().ContainKey("adminIpRegulationId");
            var adminIpRegulationId = ScenarioContext.Current.Get <Guid>("adminIpRegulationId");

            var data = new EditAdminIpRegulationData
            {
                Id          = adminIpRegulationId,
                IpAddress   = TestDataGenerator.GetRandomIpAddress(),
                Description = TestDataGenerator.GetRandomString()
            };

            var result = AdminApiProxy.UpdateIpRegulationInAdminIpRegulations(data);

            result.Should().NotBeNull();
            result.StatusCode.ShouldBeEquivalentTo(HttpStatusCode.OK);
        }
Esempio n. 3
0
        public IHttpActionResult GetEditData(Guid?id = null)
        {
            EditAdminIpRegulationData data = null;

            if (id.HasValue)
            {
                var ipRegulation = _service.GetIpRegulation(id.Value);
                data = Mapper.Map <EditAdminIpRegulationData>(ipRegulation);
            }

            return(Ok(new
            {
                Model = data,
                Licensees = _brands.GetLicensees().Select(l => new { l.Id, l.Name }),
                BlockingTypes = ConstantsHelper.GetConstantsDictionary <IpRegulationConstants.BlockingTypes>()
            }));
        }
Esempio n. 4
0
        public IHttpActionResult UpdateIpRegulation(EditAdminIpRegulationData data)
        {
            VerifyPermission(Permissions.Update, Modules.BackendIpRegulationManager);

            if (!ModelState.IsValid)
            {
                var messages = ModelState.Where(p => p.Value.Errors.Count > 0)
                               .Select(x => new { Name = ToCamelCase(x.Key), Errors = x.Value.Errors.Select(e => e.ErrorMessage) });
                return(Ok(new { Result = "failure", Data = messages }));
            }

            var regulationData = Mapper.DynamicMap <EditBackendIpRegulationData>(data);

            _service.UpdateIpRegulation(regulationData);

            return(Ok(new { result = "success" }));
        }
Esempio n. 5
0
        public IHttpActionResult CreateIpRegulation(EditAdminIpRegulationData data)
        {
            VerifyPermission(Permissions.Create, Modules.BackendIpRegulationManager);

            // TODO: Move validation logic to separate class
            var addreses = new List <string>();

            if (string.IsNullOrEmpty(data.IpAddressBatch))
            {
                addreses.Add(data.IpAddress);
            }
            else
            {
                addreses.AddRange(data.IpAddressBatch.Split(';').Select(ip => ip.Trim(new[] { ' ', '\n' })));
            }

            if (!addreses.TrueForAll(ip => _service.IsIpAddressUnique(ip)))
            {
                ModelState.AddModelError("IpAddress", "{\"text\": \"app:admin.messages.duplicateIp\"}");
            }

            if (!ModelState.IsValid)
            {
                var messages = ModelState.Where(p => p.Value.Errors.Count > 0)
                               .Select(x => new { Name = ToCamelCase(x.Key), Errors = x.Value.Errors.Select(e => e.ErrorMessage) });
                return(Ok(new { Result = "failure", Data = messages }));
            }

            foreach (var address in addreses)
            {
                var regulationData = Mapper.DynamicMap <AddBackendIpRegulationData>(data);

                regulationData.IpAddress = address;
                _service.CreateIpRegulation(regulationData);
            }

            return(Ok(new { result = "success" }));
        }
Esempio n. 6
0
 public HttpResponseMessage UpdateIpRegulationInAdminIpRegulations(EditAdminIpRegulationData request)
 {
     return(WebClient.SecurePostAsJson <EditAdminIpRegulationData, HttpResponseMessage>(Token, _url + AdminApiRoutes.UpdateIpRegulationInAdminIpRegulations, request));
 }