public async Task CanCoerceData() { var options = new StatelessClientOptions(baseUrl); var stringValue = "test"; var intValue = 1; var floatValue = 1.1f; var doubleValue = 1.1d; var dateTimeValue = DateTime.UtcNow; var listOfStrings = new List <string> { "test", "1", "2", "3" }; var listOfDateTime = new List <DateTime> { new DateTime(2021, 12, 10), new DateTime(2021, 12, 11), new DateTime(2021, 12, 12) }; var listOfInts = new List <int> { 1, 2, 3 }; var listOfFloats = new List <float> { 1.1f, 1.2f, 1.3f }; var intRange = new IntRange(0, 1); var model = new KitchenSink { StringValue = stringValue, IntValue = intValue, FloatValue = floatValue, DoubleValue = doubleValue, DateTimeValue = dateTimeValue, ListOfStrings = listOfStrings, ListOfDateTimes = listOfDateTime, ListOfInts = listOfInts, ListOfFloats = listOfFloats, IntRange = intRange }; var insertedModel = await StatelessClient.Table <KitchenSink>(options).Insert(model); var actual = insertedModel.Models.First(); Assert.AreEqual(model.StringValue, actual.StringValue); Assert.AreEqual(model.IntValue, actual.IntValue); Assert.AreEqual(model.FloatValue, actual.FloatValue); Assert.AreEqual(model.DoubleValue, actual.DoubleValue); Assert.AreEqual(model.DateTimeValue.ToString(), actual.DateTimeValue.ToString()); CollectionAssert.AreEquivalent(model.ListOfStrings, actual.ListOfStrings); CollectionAssert.AreEquivalent(model.ListOfDateTimes, actual.ListOfDateTimes); CollectionAssert.AreEquivalent(model.ListOfInts, actual.ListOfInts); CollectionAssert.AreEquivalent(model.ListOfFloats, actual.ListOfFloats); Assert.AreEqual(model.IntRange.Start, actual.IntRange.Start); Assert.AreEqual(model.IntRange.End, actual.IntRange.End); }
public void TestQueryApiKey() { var options = new StatelessClientOptions(baseUrl) { Headers = { { "apikey", "some-key" } } }; Assert.AreEqual($"{baseUrl}/users?apikey=some-key", StatelessClient.Table <User>(options).GenerateUrl()); }
public void TestQueryParams() { var options = new StatelessClientOptions(baseUrl) { QueryParams = new Dictionary <string, string> { { "some-param", "foo" }, { "other-param", "bar" } } }; Assert.AreEqual($"{baseUrl}/users?some-param=foo&other-param=bar", StatelessClient.Table <User>(options).GenerateUrl()); }
public async Task TestSwitchSchema() { //Arrange var options = new StatelessClientOptions(baseUrl) { Schema = "personal" }; //Act var response = await StatelessClient.Table <User>(options).Filter("username", Operator.Equals, "leroyjenkins").Get(); //Assert Assert.AreEqual(1, response.Models.Count); Assert.AreEqual("leroyjenkins", response.Models.FirstOrDefault()?.Username); }
public async Task TestStoredProcedure() { //Arrange var options = new StatelessClientOptions(baseUrl); //Act var parameters = new Dictionary <string, object>() { { "name_param", "supabot" } }; var response = await StatelessClient.Rpc("get_status", parameters, options); //Assert Assert.AreEqual(true, response.ResponseMessage.IsSuccessStatusCode); Assert.AreEqual(true, response.Content.Contains("OFFLINE")); }
public void TestTableAttributeDefault() { var options = new StatelessClientOptions(baseUrl); Assert.AreEqual($"{baseUrl}/Stub", StatelessClient.Table <Stub>(options).GenerateUrl()); }
public void TestTableAttribute() { var options = new StatelessClientOptions(baseUrl); Assert.AreEqual($"{baseUrl}/users", StatelessClient.Table <User>(options).GenerateUrl()); }