public void ShouldNotFindDirectory()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }
            var dir = service.GetApplicationByDirectoryName(Directory1.DirectoryName);

            Assert.Null(dir);
        }
        public void ShouldNotExist()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }
            service.RegisterApplication(Directory1);

            var isRegistered = service.ApplicationIsRegistered(Directory2.DirectoryName);

            Assert.False(isRegistered);
        }
        public void ShouldNotCreateDuplicateDirectory()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }

            service.RegisterApplication(Directory1);
            Action action = () => service.RegisterApplication(Directory1);

            Assert.Throws <InvalidOperationException>(action);
        }
        public void ShouldCreateMultipleDirectories()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }
            service.RegisterApplication(Directory1);
            service.RegisterApplication(Directory2);

            var result1 = service.ApplicationIsRegistered(Directory1.DirectoryName);
            var result2 = service.ApplicationIsRegistered(Directory2.DirectoryName);

            Assert.True(result1);
            Assert.True(result2);
        }
        public void ShouldCreateDirectory()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }
            var result = service.RegisterApplication(Directory1);

            Assert.NotNull(result);
            Assert.NotSame(result, Directory1);
            Assert.True(result.Id > 0);
            Assert.Equal("secret", result.ClientSecret);
            Assert.Equal(result.DirectoryName, Directory1.DirectoryName);
            Assert.Null(result.RefId);
            Assert.Null(result.RefIdStr);
        }
        public void ShouldFindDirectory()
        {
            var service = new OrmLiteMultiTenantApplicationRegistryService(_connectionFactory);

            using (var db = _connectionFactory.OpenDbConnection())
            {
                db.DropAndCreateTable <ApplicationRegistration>();
            }
            var inserted = service.RegisterApplication(Directory2);

            var result = service.GetApplicationByDirectoryName(Directory2.DirectoryName);

            Assert.NotNull(result);
            Assert.NotSame(result, inserted);
            Assert.Equal(result.DirectoryName, inserted.DirectoryName);
            Assert.Equal(result.ClientId, inserted.ClientId);
            Assert.Equal(result.ClientSecret, inserted.ClientSecret);
            Assert.Equal(result.Id, inserted.Id);
            Assert.NotNull(result.RefId);
            Assert.NotNull(result.RefIdStr);
            Assert.Equal(result.RefId, inserted.RefId);
            Assert.Equal(result.RefIdStr, inserted.RefIdStr);
        }