예제 #1
0
        public void EditApp_WithInvalidID_ThrowsInvalidOperationException()
        {
            //arrange
            var app = new Application {
                Id = 1, AppName = "TestApp"
            };

            _context.Applications.Add(app);
            _context.SaveChanges();

            var updatedAppName = "TestAppUpdated";

            var updatedApp = new UpdateApplicationModel
            {
                Id = app.Id++,
                ApplicationName = updatedAppName
            };

            var controller = new ApplicationsController(_context);

            //act
            controller.UpdateApplication(updatedApp);

            //assert
            //throws InvalidOperationException
        }
예제 #2
0
        public async Task <IActionResult> UpdateApplication([FromBody] UpdateApplicationModel applicationModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var app = await _applicationsRepository.FindByIdAsync(applicationModel.Id);

            if (app == null)
            {
                throw new InvalidOperationException("Application does not exist!");
            }

            var apps = await _applicationsRepository.GetAllAsync();

            var existingApp = apps.FirstOrDefault(a =>
                                                  string.Compare(a.AppName, applicationModel.ApplicationName, StringComparison.OrdinalIgnoreCase) == 0 && a.Id != applicationModel.Id);

            if (existingApp != null)
            {
                return(BadRequest("Application with same name already exists!"));
            }


            app.UpdateName(applicationModel.ApplicationName);
            await _applicationsRepository.UpdateAsync(app);

            return(Ok());
        }
예제 #3
0
        public void EditApp_AppIsBeingModified()
        {
            //arrange
            var app = new Application {
                Id = 1, AppName = "TestApp"
            };

            _context.Applications.Add(app);
            _context.SaveChanges();

            var updatedAppName = "TestAppUpdated";

            var updatedApp = new UpdateApplicationModel
            {
                Id = app.Id,
                ApplicationName = updatedAppName
            };

            var controller = new ApplicationsController(_context);

            //act
            var result = controller.UpdateApplication(updatedApp);

            //assert
            result.Should().BeOfType <OkResult>();
            app.AppName.Should().Be(updatedAppName);
        }
예제 #4
0
        public async Task UpdateAzureADApplication([FromBody] UpdateApplicationModel updateApp)
        {
            try
            {
                logger.LogInformation("Update Azure AD Application: {application}", updateApp.HomePage);
                var updateModel = new UpdateApplicationRequest()
                {
                    Homepage  = updateApp.HomePage,
                    ReplyUrls = updateApp.ReplyUrls
                };
                await _servicePrincipalRepo.UpdateAzureADApplication(updateApp.AppObjectId, updateModel, tokenServices.TenantId);

                logger.LogInformation("Update Azure AD Application Reply url updated: {application}", updateApp.HomePage);
            }
            catch (Exception e)
            {
                logger.LogError(e, "Update Azure AD Application: - Exception {message}", e.Message);
            }
        }
예제 #5
0
        public IActionResult UpdateApplication([FromBody] UpdateApplicationModel applicationModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var app = _db.Applications.FirstOrDefault(a => a.Id == applicationModel.Id);

            if (app == null)
            {
                throw new InvalidOperationException("Application does not exists!");
            }

            app.AppName = applicationModel.ApplicationName;

            _db.SaveChanges();

            return(Ok());
        }
예제 #6
0
        public async Task EditApp_WithInvalidID_ThrowsInvalidOperationException()
        {
            //arrange
            var app = Application.Create("TestApp", "dev", false);
            await _appApplicationRepository.AddAsync(app);

            var updatedAppName = "TestAppUpdated";

            var updatedApp = new UpdateApplicationModel
            {
                Id = Guid.NewGuid(),
                ApplicationName = updatedAppName
            };

            var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository);

            //act
            await controller.UpdateApplication(updatedApp);

            //assert
            //throws InvalidOperationException
        }
예제 #7
0
        public async Task EditApp_AppIsBeingModified()
        {
            //arrange
            var app = Application.Create("TestApp", "dev", false);
            await _appApplicationRepository.AddAsync(app);

            var updatedAppName = "TestAppUpdated";

            var updatedApp = new UpdateApplicationModel
            {
                Id = app.Id,
                ApplicationName = updatedAppName
            };

            var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository);

            //act
            var result = await controller.UpdateApplication(updatedApp);

            //assert
            result.Should().BeOfType <OkResult>();
            app.AppName.Should().Be(updatedAppName);
        }
예제 #8
0
        public async Task EditApp_WhenAlreadyExistsAppWithTheSameName_RejectTheEdit()
        {
            //arrange
            var app  = Application.Create("TestApp", "dev", false);
            var app2 = Application.Create("TestAppUpdated", "dev", false);
            await _appApplicationRepository.AddAsync(app);

            await _appApplicationRepository.AddAsync(app2);

            var updatedApp = new UpdateApplicationModel
            {
                Id = app.Id,
                ApplicationName = "TestAppUpdated"
            };

            var controller = new ApplicationsController(_appApplicationRepository, _toggleScheduleRepository);

            //act
            var result = await controller.UpdateApplication(updatedApp);

            //assert
            result.Should().BeOfType <BadRequestObjectResult>();
            app.AppName.Should().Be("TestApp");
        }