Fix Collection was modified exception in test

This commit is contained in:
Pavel Krymets 2016-06-08 12:24:04 -07:00
parent e2fd776e5b
commit b2c7469f17
1 changed files with 44 additions and 42 deletions

View File

@ -259,6 +259,7 @@ namespace Microsoft.AspNetCore.Session
var client = server.CreateClient(); var client = server.CreateClient();
var response = await client.GetAsync(string.Empty); var response = await client.GetAsync(string.Empty);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
}
var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray(); var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray();
@ -268,7 +269,6 @@ namespace Microsoft.AspNetCore.Session
Assert.Contains("stored", sessionLogMessages[1].State.ToString()); Assert.Contains("stored", sessionLogMessages[1].State.ToString());
Assert.Equal(LogLevel.Debug, sessionLogMessages[1].LogLevel); Assert.Equal(LogLevel.Debug, sessionLogMessages[1].LogLevel);
} }
}
[Fact] [Fact]
public async Task ExpiredSession_LogsWarning() public async Task ExpiredSession_LogsWarning()
@ -303,6 +303,7 @@ namespace Microsoft.AspNetCore.Session
services.AddSession(o => o.IdleTimeout = TimeSpan.FromMilliseconds(30)); services.AddSession(o => o.IdleTimeout = TimeSpan.FromMilliseconds(30));
}); });
string result;
using (var server = new TestServer(builder)) using (var server = new TestServer(builder))
{ {
var client = server.CreateClient(); var client = server.CreateClient();
@ -313,10 +314,12 @@ namespace Microsoft.AspNetCore.Session
var cookie = SetCookieHeaderValue.ParseList(response.Headers.GetValues("Set-Cookie").ToList()).First(); var cookie = SetCookieHeaderValue.ParseList(response.Headers.GetValues("Set-Cookie").ToList()).First();
client.DefaultRequestHeaders.Add("Cookie", new CookieHeaderValue(cookie.Name, cookie.Value).ToString()); client.DefaultRequestHeaders.Add("Cookie", new CookieHeaderValue(cookie.Name, cookie.Value).ToString());
Thread.Sleep(50); Thread.Sleep(50);
Assert.Equal("2", await client.GetStringAsync("/second")); result = await client.GetStringAsync("/second");
}
var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray(); var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray();
Assert.Equal("2", result);
Assert.Equal(3, sessionLogMessages.Length); Assert.Equal(3, sessionLogMessages.Length);
Assert.Contains("started", sessionLogMessages[0].State.ToString()); Assert.Contains("started", sessionLogMessages[0].State.ToString());
Assert.Contains("stored", sessionLogMessages[1].State.ToString()); Assert.Contains("stored", sessionLogMessages[1].State.ToString());
@ -325,7 +328,6 @@ namespace Microsoft.AspNetCore.Session
Assert.Equal(LogLevel.Debug, sessionLogMessages[1].LogLevel); Assert.Equal(LogLevel.Debug, sessionLogMessages[1].LogLevel);
Assert.Equal(LogLevel.Warning, sessionLogMessages[2].LogLevel); Assert.Equal(LogLevel.Warning, sessionLogMessages[2].LogLevel);
} }
}
[Fact] [Fact]
public async Task RefreshesSession_WhenSessionData_IsNotModified() public async Task RefreshesSession_WhenSessionData_IsNotModified()
@ -527,6 +529,7 @@ namespace Microsoft.AspNetCore.Session
var client = server.CreateClient(); var client = server.CreateClient();
var response = await client.GetAsync(string.Empty); var response = await client.GetAsync(string.Empty);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
}
var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray(); var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray();
@ -534,7 +537,6 @@ namespace Microsoft.AspNetCore.Session
Assert.Contains("Session cache read exception", sessionLogMessages[0].State.ToString()); Assert.Contains("Session cache read exception", sessionLogMessages[0].State.ToString());
Assert.Equal(LogLevel.Error, sessionLogMessages[0].LogLevel); Assert.Equal(LogLevel.Error, sessionLogMessages[0].LogLevel);
} }
}
[Fact] [Fact]
public async Task SessionLogsCacheWriteException() public async Task SessionLogsCacheWriteException()
@ -566,6 +568,7 @@ namespace Microsoft.AspNetCore.Session
var client = server.CreateClient(); var client = server.CreateClient();
var response = await client.GetAsync(string.Empty); var response = await client.GetAsync(string.Empty);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
}
var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray(); var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<DistributedSession>().ToArray();
@ -578,7 +581,6 @@ namespace Microsoft.AspNetCore.Session
Assert.Contains("Error closing the session.", sessionMiddlewareLogMessages[0].State.ToString()); Assert.Contains("Error closing the session.", sessionMiddlewareLogMessages[0].State.ToString());
Assert.Equal(LogLevel.Error, sessionMiddlewareLogMessages[0].LogLevel); Assert.Equal(LogLevel.Error, sessionMiddlewareLogMessages[0].LogLevel);
} }
}
[Fact] [Fact]
public async Task SessionLogsCacheRefreshException() public async Task SessionLogsCacheRefreshException()
@ -610,6 +612,7 @@ namespace Microsoft.AspNetCore.Session
var client = server.CreateClient(); var client = server.CreateClient();
var response = await client.GetAsync(string.Empty); var response = await client.GetAsync(string.Empty);
response.EnsureSuccessStatusCode(); response.EnsureSuccessStatusCode();
}
var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<SessionMiddleware>().ToArray(); var sessionLogMessages = sink.Writes.OnlyMessagesFromSource<SessionMiddleware>().ToArray();
@ -617,7 +620,6 @@ namespace Microsoft.AspNetCore.Session
Assert.Contains("Error closing the session.", sessionLogMessages[0].State.ToString()); Assert.Contains("Error closing the session.", sessionLogMessages[0].State.ToString());
Assert.Equal(LogLevel.Error, sessionLogMessages[0].LogLevel); Assert.Equal(LogLevel.Error, sessionLogMessages[0].LogLevel);
} }
}
private class TestClock : ISystemClock private class TestClock : ISystemClock
{ {