public void ProcessResult_WhenRequestedWithModelUsingMaster_ReturnsCombinedView() { var response = new FakeResponseContext(); var result = new SparkResult("../../Test Data/Views/Spark/Child.spark", "Master.spark"); Assert.That(result.ViewPath, Is.EqualTo("../../Test Data/Views/Spark/Child.spark")); Assert.That(result.MasterPath, Is.EqualTo("Master.spark")); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Contains.Substring("<h1>hello world</h1>")); }
public void ProcessResult_WhenOutputtingDateTime_IsAbleToAccessSystemNamespace() { var response = new FakeResponseContext(); var result = new SparkResult("../../Test Data/Views/Spark/DateTime.spark"); Assert.That(result.ViewPath, Is.EqualTo("../../Test Data/Views/Spark/DateTime.spark")); result.ProcessResult(null, response); DateTime date; Assert.That(DateTime.TryParse(response.Response, out date)); }
public void ProcessResult_WhenRequestedWithModelUsingPartial_ReturnsCombinedView() { var response = new FakeResponseContext(); var model = new UserModel { ID = 42, Username = "******" }; var result = new SparkResult<UserModel>(model, "../../Test Data/Views/Spark/View.spark"); Assert.That(result.ViewPath, Is.EqualTo("../../Test Data/Views/Spark/View.spark")); Assert.That(result.Model.ID, Is.EqualTo(42)); Assert.That(result.Model.Username, Is.EqualTo("Username")); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Contains.Substring("<span>partial</span>")); }
/// <summary> /// Converts OAuth2 result to Spark token result. /// </summary> /// <param name="source">Source result.</param> /// <param name="refreshedAt"><see cref="DateTime"/> when the token refreshed.</param> /// <returns><see cref="SparkResult{TSparkObject}"/> to get result.</returns> private static SparkResult <TokenInfo> convert(SparkResult <Oauth2TokenInfo> source, DateTime refreshedAt) { var result = new SparkResult <TokenInfo>(); result.IsSuccessStatus = source.IsSuccessStatus; result.HttpStatusCode = source.HttpStatusCode; result.RetryAfter = source.RetryAfter; result.TrackingId = source.TrackingId; var tokenInfo = new TokenInfo(); var data = source.Data; if (result.IsSuccessStatus) { tokenInfo.RefreshedAt = refreshedAt; tokenInfo.AccessToken = data.AccessToken; if (data.ExpiresIn.HasValue) { tokenInfo.AccessTokenExpiresIn = TimeSpan.FromSeconds(data.ExpiresIn.Value); tokenInfo.AccessTokenExpiresAt = refreshedAt + tokenInfo.AccessTokenExpiresIn; } tokenInfo.RefreshToken = data.RefreshToken; if (data.RefreshTokenExpiresIn.HasValue) { tokenInfo.RefreshTokenExpiresIn = TimeSpan.FromSeconds(data.RefreshTokenExpiresIn.Value); tokenInfo.RefreshTokenExpiresAt = refreshedAt + tokenInfo.RefreshTokenExpiresIn; } } if (data.HasExtensionData) { tokenInfo.JsonExtensionData = data.JsonExtensionData; } tokenInfo.HasValues = data.HasValues; result.Data = tokenInfo; return(result); }
public void ProcessResult_WhenOutputtingHandlerUrl_IsAbleToAccessTinywebHandlersNamespace() { Tinyweb.Handlers = new List<HandlerData> { new HandlerData { Uri = "foo/bar", Type = typeof(TestHandler) } }; Url.ApplicationPathProvider = new FakeApplicationPathProvider(); var response = new FakeResponseContext(); var result = new SparkResult("../../Test Data/Views/Spark/Url.spark"); Assert.That(result.ViewPath, Is.EqualTo("../../Test Data/Views/Spark/Url.spark")); result.ProcessResult(null, response); Assert.That(response.Response, Is.EqualTo("/foo/bar?key=value")); }
public void ProcessResult_WhenRequestedWithNoModel_ReturnsViewData() { var response = new FakeResponseContext(); var result = new SparkResult("../../Test Data/Views/Spark/Simple.spark"); Assert.That(result.ViewPath, Is.EqualTo("../../Test Data/Views/Spark/Simple.spark")); result.ProcessResult(null, response); Assert.That(response.ContentType, Is.EqualTo("text/html")); Assert.That(response.Response, Contains.Substring("<h1>header</h1>")); }