public override async Task StoreAsync(string key, RefreshToken value) { ExecuteInTransaction(session => { var token = session .Query <Token>() .SingleOrDefault(t => t.Key == key && t.TokenType == TokenType); if (token == null) { token = new Token { Key = key, SubjectId = value.SubjectId, ClientId = value.ClientId, TokenType = TokenType }; session.Save(token); } token.JsonCode = ConvertToJson(value); token.Expiry = value.CreationTime.UtcDateTime.AddSeconds(value.LifeTime); session.Update(token); }); await TaskExtensions.CompletedTask; }
public async Task RemoveAsync() { //Arrange var sut = new AuthorizationCodeStore(NhibernateSession, ScopeStoreMock.Object, ClientStoreMock.Object); var testKey = Guid.NewGuid().ToString(); var testCode = ObjectCreator.GetAuthorizationCode(); var nhCode = new Token { Key = testKey, SubjectId = testCode.SubjectId, ClientId = testCode.ClientId, JsonCode = ConvertToJson(testCode), Expiry = DateTime.UtcNow.AddSeconds(testCode.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; ExecuteInTransaction(session => { session.Save(nhCode); }); //Act await sut.RemoveAsync(testKey); //Assert ExecuteInTransaction(session => { var token = session.Query <Token>() .SingleOrDefault(t => t.TokenType == TokenType.AuthorizationCode && t.Key == testKey); Assert.Null(token); }); }
public override async Task StoreAsync(string key, AuthorizationCode code) { var nhCode = new Token { Key = key, SubjectId = code.SubjectId, ClientId = code.ClientId, JsonCode = ConvertToJson(code), Expiry = DateTime.UtcNow.AddSeconds(code.Client.AuthorizationCodeLifetime), TokenType = this.TokenType }; ExecuteInTransaction(session => { session.Save(nhCode); }); await TaskExtensions.CompletedTask; }
public async Task GetAsync() { //Arrange var sut = new AuthorizationCodeStore(NhibernateSession, ScopeStoreMock.Object, ClientStoreMock.Object); var testKey = Guid.NewGuid().ToString(); var testCode = ObjectCreator.GetAuthorizationCode(); var nhCode = new Token { Key = testKey, SubjectId = testCode.SubjectId, ClientId = testCode.ClientId, JsonCode = ConvertToJson(testCode), Expiry = DateTime.UtcNow.AddSeconds(testCode.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; SetupScopeStoreMock(); ExecuteInTransaction(session => { session.Save(nhCode); }); //Act var token = await sut.GetAsync(testKey); //Assert Assert.NotNull(token); //CleanUp ExecuteInTransaction(session => { session.Delete(nhCode); session.Clear(); }); }
public async Task GetAllAsync() { //Arrange var sut = new AuthorizationCodeStore(NhibernateSession, ScopeStoreMock.Object, ClientStoreMock.Object); var subjectId1 = Guid.NewGuid().ToString(); var subjectId2 = Guid.NewGuid().ToString(); var testKey1 = Guid.NewGuid().ToString(); var testCode1 = ObjectCreator.GetAuthorizationCode(subjectId1); var nhCode1 = new Token { Key = testKey1, SubjectId = testCode1.SubjectId, ClientId = testCode1.ClientId, JsonCode = ConvertToJson(testCode1), Expiry = DateTime.UtcNow.AddSeconds(testCode1.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; var testKey2 = Guid.NewGuid().ToString(); var testCode2 = ObjectCreator.GetAuthorizationCode(subjectId1); var nhCode2 = new Token { Key = testKey2, SubjectId = testCode2.SubjectId, ClientId = testCode2.ClientId, JsonCode = ConvertToJson(testCode2), Expiry = DateTime.UtcNow.AddSeconds(testCode2.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; var testKey3 = Guid.NewGuid().ToString(); var testCode3 = ObjectCreator.GetAuthorizationCode(subjectId2); var nhCode3 = new Token { Key = testKey3, SubjectId = testCode3.SubjectId, ClientId = testCode3.ClientId, JsonCode = ConvertToJson(testCode3), Expiry = DateTime.UtcNow.AddSeconds(testCode3.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; var testKey4 = Guid.NewGuid().ToString(); var testCode4 = ObjectCreator.GetAuthorizationCode(subjectId2); var nhCode4 = new Token { Key = testKey4, SubjectId = testCode4.SubjectId, ClientId = testCode4.ClientId, JsonCode = ConvertToJson(testCode4), Expiry = DateTime.UtcNow.AddSeconds(testCode4.Client.AuthorizationCodeLifetime), TokenType = TokenType.AuthorizationCode }; SetupScopeStoreMock(); ExecuteInTransaction(session => { session.Save(nhCode1); session.Save(nhCode2); session.Save(nhCode3); session.Save(nhCode4); }); //Act var tokens = (await sut.GetAllAsync(subjectId1)).ToList(); //Assert Assert.True(tokens.Count == 2); Assert.True(tokens.All(t => t.SubjectId == subjectId1)); //CleanUp ExecuteInTransaction(session => { session.Delete(nhCode1); session.Delete(nhCode2); session.Delete(nhCode3); session.Delete(nhCode4); }); }