public async Task WhenRegisteringExistingApplicationThenErrorShouldBeRaised()
        {
            using (IDependencyResolver resolver = DependencyResolverFactory.CreateDependencyResolver())
            {
                LoggerController controller = new LoggerController(resolver.Resolve <IApplicationService>(),
                                                                   resolver.Resolve <ILogService>());

                string displayName = GenerateDisplayName();

                ApplicationCreateModel applicationCreateModel = new ApplicationCreateModel()
                {
                    DisplayName = displayName,
                    Password    = "******"
                };

                OkNegotiatedContentResult <int> result = await controller.RegisterAsync(applicationCreateModel) as OkNegotiatedContentResult <int>;

                Assert.IsNotNull(result);

                BadRequestErrorMessageResult newResult = await controller.RegisterAsync(applicationCreateModel) as BadRequestErrorMessageResult;

                Assert.IsNotNull(newResult);
                Assert.AreEqual(newResult.Message, $"Application with DisplayName {displayName} already exists.");
            }
        }
        public async Task WhenRegisteringApplicationThenApplicationIsRegistered()
        {
            using (IDependencyResolver resolver = DependencyResolverFactory.CreateDependencyResolver())
            {
                LoggerController controller = new LoggerController(resolver.Resolve <IApplicationService>(), resolver.Resolve <ILogService>());

                ApplicationCreateModel applicationCreateModel = new ApplicationCreateModel()
                {
                    DisplayName = GenerateDisplayName(),
                    Password    = "******"
                };

                OkNegotiatedContentResult <int> result = await controller.RegisterAsync(applicationCreateModel) as OkNegotiatedContentResult <int>;

                Assert.IsNotNull(result);
            }
        }
        public async Task WhenLoggingWithBadApplicationIdThenErrorShouldBeRaised()
        {
            using (IDependencyResolver resolver = DependencyResolverFactory.CreateDependencyResolver())
            {
                LoggerController controller = new LoggerController(resolver.Resolve <IApplicationService>(),
                                                                   resolver.Resolve <ILogService>());

                LogCreateModel logCreateModel = new LogCreateModel()
                {
                    ApplicationId = 0,  // bad application_id
                    Logger        = "logger",
                    Level         = "level",
                    Message       = "message"
                };

                var result = await controller.LogAsync(logCreateModel) as OkNegotiatedContentResult <LogCreationResultModel>;

                Assert.AreEqual(result.Content.success, false);
            }
        }