public async Task PostTest() { using (var webserver = new WebServer(_defaultPort)) { const string status = "OK"; webserver.RegisterModule(new FallbackModule((ctx, ct) => { var obj = ctx.ParseJson <BasicJson>(); Assert.IsNotNull(obj); obj.StringData = status; ctx.JsonResponse(obj); return(true); })); webserver.RunAsync(); await Task.Delay(100); var data = await JsonClient.Post <BasicJson>(_defaultHttp, BasicJson.GetDefault()); Assert.IsNotNull(data); Assert.AreEqual(status, data.StringData); } }
public void SerializeBasicObjectTest() { var data = BasicJson.GetDefault().ToJson(false); Assert.IsNotNull(data); Assert.AreEqual(BasicStr, data); }
public void CompareEqualArrayWithObjects() { var first = new[] { BasicJson.GetDefault(), BasicJson.GetDefault() }; var second = new[] { BasicJson.GetDefault(), BasicJson.GetDefault() }; Assert.IsTrue(ObjectComparer.AreEnumsEqual(first, second)); }
public void CompareDifferentObjectsTest() { var left = BasicJson.GetDefault(); var right = new BasicJson(); Assert.IsFalse(ObjectComparer.AreObjectsEqual(left, right)); }
public void EqualArraysWithObjects_ReturnsTrue() { var leftArrayObject = new[] { BasicJson.GetDefault(), BasicJson.GetDefault() }; var rightArrayObject = new[] { BasicJson.GetDefault(), BasicJson.GetDefault() }; Assert.IsTrue(ObjectComparer.AreEnumerationsEquals(leftArrayObject, rightArrayObject)); }
public void WithJsonAsParam_ReturnsStringifiedJson() { var objectInfoLines = BasicJson.GetDefault().Stringify().ToLines(); Assert.GreaterOrEqual(8, objectInfoLines.Length); Assert.AreEqual("$type : Swan.Test.Mocks.BasicJson", objectInfoLines[0]); Assert.AreEqual(" string,", objectInfoLines[2]); }
public void WithInvalidParams_ThrowsJsonRequestException() { var exception = Assert.ThrowsAsync <JsonRequestException>(async() => { await JsonClient.Post <BasicJson>(new Uri($"{DefaultHttp}/404"), BasicJson.GetDefault()); }); Assert.AreEqual(404, exception.HttpErrorCode); }
public void CheckJsonFormat() { Assert.AreEqual(BasicStr, BasicJson.GetDefault().ToJson(false)); Assert.AreNotEqual(BasicStr, BasicJson.GetDefault().ToJson()); object nullObj = null; Assert.AreEqual(string.Empty, nullObj.ToJson()); }
public async Task WithValidParams_ReturnsTrue() { const string status = "OK"; var basicJson = BasicJson.GetDefault(); var data = await JsonClient.Post <BasicJson>(new Uri($"{DefaultHttp}{Api}/WithValidParams"), basicJson); Assert.IsNotNull(data); Assert.AreEqual(status, data.StringData); }
public void StringifyObjectTest() { var objectInfoLines = BasicJson.GetDefault().Stringify().ToLines(); Assert.Greater(7, objectInfoLines.Length); Assert.AreEqual("$type : Unosquare.Swan.Test.Mocks.BasicJson", objectInfoLines[0]); Assert.AreEqual("StringData : string", objectInfoLines[1]); Assert.AreEqual("IntData : 1", objectInfoLines[2]); }
public void WithValidBasicJson_CopyOnlyPropertiesToNewBasicJson() { var source = BasicJson.GetDefault(); var destination = source.CopyOnlyPropertiesToNew <BasicJson>(nameof(BasicJson.BoolData), nameof(BasicJson.DecimalData)); Assert.IsNotNull(destination); Assert.AreSame(source.GetType(), destination.GetType()); Assert.AreEqual(source.BoolData, destination.BoolData); Assert.AreEqual(source.DecimalData, destination.DecimalData); }
public void WithValidBasicJson_CopyNotIgnoredPropertiesToTarget() { var source = BasicJson.GetDefault(); var destination = new BasicJson(); source.CopyPropertiesTo(destination, nameof(BasicJson.NegativeInt), nameof(BasicJson.BoolData)); Assert.AreNotEqual(source.BoolData, destination.BoolData); Assert.AreNotEqual(source.NegativeInt, destination.NegativeInt); Assert.AreEqual(source.StringData, destination.StringData); }
public void ArrayOfObjects_ReturnsArrayOfObjectsSerialized() { var data = Json.Serialize(new List <BasicJson> { BasicJson.GetDefault(), BasicJson.GetDefault() }); Assert.IsNotNull(data); Assert.AreEqual("[" + BasicStr + "," + BasicStr + "]", data); }
public async Task WithValidParamsAndAuthorizationToken_ReturnsTrue() { var data = await JsonClient.Post( new Uri($"{DefaultHttp}{Api}/WithValidParamsAndAuthorizationToken"), BasicJson.GetDefault(), AuthorizationToken); Assert.IsNotNull(data); Assert.IsTrue(data !.ContainsKey(Authorization)); Assert.AreEqual($"Bearer {AuthorizationToken}", data[Authorization]); }
public void CompareEqualObjectsWithArrayProperty() { var first = new AdvArrayJson { Id = 1, Properties = new[] { BasicJson.GetDefault() } }; var second = new AdvArrayJson { Id = 1, Properties = new[] { BasicJson.GetDefault() } }; Assert.IsTrue(ObjectComparer.AreEqual(first, second)); }
public void WithArrayOfObjects_ReturnsArrayOfObjectsSerialized() { var data = Json.Serialize(new List <BasicJson> { BasicJson.GetDefault(), BasicJson.GetDefault(), }); Assert.IsNotNull(data); Assert.AreEqual($"[{BasicStr},{BasicStr}]", data); }
public void EqualObjectsWithArrayProperties_ReturnsTrue() { var leftObject = new AdvArrayJson { Id = 1, Properties = new[] { BasicJson.GetDefault() } }; var rightObject = new AdvArrayJson { Id = 1, Properties = new[] { BasicJson.GetDefault() } }; Assert.IsTrue(ObjectComparer.AreEqual(leftObject, rightObject)); }
public void WithStringsArrayAndWeakReference_ReturnsArraySerialized() { var instance = BasicJson.GetDefault(); var reference = new List <WeakReference> { new(instance) }; var data = Json.Serialize(instance, false, null, false, null, null, reference, JsonSerializerCase.None); Assert.IsTrue(data.StartsWith("{ \"$circref\":")); }
public void WithBasicObject_ReturnsObjectDeserialized() { var obj = Json.Deserialize <BasicJson>(BasicStr); Assert.IsNotNull(obj); Assert.AreEqual(obj.StringData, BasicJson.GetDefault().StringData); Assert.AreEqual(obj.IntData, BasicJson.GetDefault().IntData); Assert.AreEqual(obj.NegativeInt, BasicJson.GetDefault().NegativeInt); Assert.AreEqual(obj.BoolData, BasicJson.GetDefault().BoolData); Assert.AreEqual(obj.DecimalData, BasicJson.GetDefault().DecimalData); Assert.AreEqual(obj.StringNull, BasicJson.GetDefault().StringNull); }
public void WithValidBasicJson_CopyPropertiesToTarget() { var source = BasicJson.GetDefault(); var destination = new BasicJson(); source.CopyPropertiesTo(destination); Assert.AreEqual(source.BoolData, destination.BoolData); Assert.AreEqual(source.DecimalData, destination.DecimalData); Assert.AreEqual(source.StringData, destination.StringData); Assert.AreEqual(source.StringNull, destination.StringNull); }
public void CopyPropertiesToNewTest() { var source = BasicJson.GetDefault(); var destination = source.CopyPropertiesToNew <BasicJson>(); Assert.IsNotNull(destination); Assert.AreSame(source.GetType(), destination.GetType()); Assert.AreEqual(source.BoolData, destination.BoolData); Assert.AreEqual(source.DecimalData, destination.DecimalData); Assert.AreEqual(source.StringData, destination.StringData); Assert.AreEqual(source.StringNull, destination.StringNull); }
public void WithValidBasicJson_CopyOnlyPropertiesToTarget() { var source = BasicJson.GetDefault(); var destination = new BasicJson { NegativeInt = 800, BoolData = false }; source.CopyOnlyPropertiesTo(destination, new[] { nameof(BasicJson.NegativeInt), nameof(BasicJson.BoolData) }); Assert.AreEqual(source.BoolData, destination.BoolData); Assert.AreEqual(source.NegativeInt, destination.NegativeInt); Assert.AreNotEqual(source.StringData, destination.StringData); }
public void WithObject_ReturnsObjectSerializedExcludingProps() { var excludeNames = new[] { nameof(BasicJson.StringData), nameof(BasicJson.IntData), nameof(BasicJson.NegativeInt), }; var dataSerialized = Json.SerializeExcluding(BasicJson.GetDefault(), false, excludeNames); Assert.AreEqual( "{\"DecimalData\": 10.33,\"BoolData\": true,\"StringNull\": null}", dataSerialized); }
public void WithObject_ReturnsObjectSerialized() { var includeNames = new[] { nameof(BasicJson.StringData), nameof(BasicJson.IntData), nameof(BasicJson.NegativeInt), }; var dataSerialized = Json.SerializeOnly(BasicJson.GetDefault(), false, includeNames); Assert.AreEqual( "{\"StringData\": \"string,\\r\\ndata\\\\\",\"IntData\": 1,\"NegativeInt\": -1}", dataSerialized); }
public void WithValidParamsAndNewProperty_CopyPropertiesToTarget() { var source = BasicJson.GetDefault(); source.StringNull = "1"; var destination = new BasicJsonWithNewProperty(); source.CopyPropertiesTo(destination); Assert.AreEqual(source.BoolData, destination.BoolData); Assert.AreEqual(source.DecimalData, destination.DecimalData); Assert.AreEqual(source.StringData, destination.StringData); Assert.AreEqual(source.StringNull, destination.StringNull.ToString()); }
public void JsonRequestErrorTest() { var exception = Assert.ThrowsAsync <JsonRequestException>(async() => { using (var webserver = new WebServer(_defaultPort)) { webserver.RegisterModule(new FallbackModule((ctx, ct) => false)); webserver.RunAsync(); await Task.Delay(100); await JsonClient.Post <BasicJson>(_defaultHttp, BasicJson.GetDefault()); } }); Assert.AreEqual(404, exception.HttpErrorCode, "EmebedIO should return 404 error code"); }
public async Task PostWithAuthenticationTest() { using (var webserver = new WebServer(_defaultPort)) { webserver.RegisterModule(new FallbackModule((ctx, ct) => { ctx.JsonResponse(new Dictionary <string, string> { { Authorization, ctx.RequestHeader(Authorization) } }); return(true); })); webserver.RunAsync(); await Task.Delay(500); var data = await JsonClient.Post(_defaultHttp, BasicJson.GetDefault(), AuthorizationToken); Assert.IsNotNull(data); Assert.IsTrue(data.ContainsKey(Authorization)); Assert.AreEqual($"Bearer {AuthorizationToken}", data[Authorization]); } }
public void EqualsObjects_ReturnsTrue() { var left = new BasicJson { BoolData = true, DecimalData = 1, IntData = 1, NegativeInt = -1, StringData = "A", StringNull = null, }; var right = new BasicJson { BoolData = true, DecimalData = 1, IntData = 1, NegativeInt = -1, StringData = "A", StringNull = null, }; Assert.IsTrue(ObjectComparer.AreObjectsEqual(left, right)); }
public void CheckJsonFormat_ValidatesIfObjectsAreNotEqual() { Assert.AreNotEqual(BasicStr, BasicJson.GetDefault().ToJson()); }
public void WithNullUrl_ThrowsArgumentNullException() { Assert.ThrowsAsync <ArgumentNullException>(async() => await JsonClient.Post <BasicJson>(null, BasicJson.GetDefault())); }