public void TestSendingSingleFullyPopulatedLookup() { var expectedUrl = "http://localhost/?country=0&geocode=true&language=native&freeform=1" + "&address1=2&address2=3&address3=4&address4=5&organization=6&locality=7&administrative_area=8&postal_code=9"; var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); var lookup = new Lookup { Country = "0", Geocode = true, Language = LanguageMode.NATIVE, Freeform = "1", Address1 = "2", Address2 = "3", Address3 = "4", Address4 = "5", Organization = "6", Locality = "7", AdministrativeArea = "8", PostalCode = "9" }; client.Send(lookup); Assert.AreEqual(expectedUrl, capturingSender.Request.GetUrl()); }
public void TestRejectNullLookup() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); Assert.ThrowsAsync <ArgumentNullException>(async() => await client.SendAsync(null)); }
public void TestSendingSingleFullyPopulatedLookup() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); var lookup = new Lookup { InputId = "1234", Addressee = "0", Street = "1", Secondary = "2", Street2 = "3", Urbanization = "4", City = "5", State = "6", ZipCode = "7", Lastline = "8", MaxCandidates = 9, MatchStrategy = "10" }; client.Send(lookup); Assert.AreEqual("?input_id=1234&street=1&street2=3&secondary=2&city=5&state=6&zipcode=7&" + "lastline=8&addressee=0&urbanization=4&match=10&candidates=9", sender.Request.GetUrl()); }
public void TestRejectEmptyPrefix() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); Assert.ThrowsAsync <SmartyException>(async() => await client.SendAsync(new Lookup(""))); }
public void WhenDeserializingEmptyByteArray_ThenReturnsDefaultOfT() { var serializer = new FakeSerializer(); var result = serializer.Deserialize <Data>(new byte[0]); Assert.Null(result); }
public void TestRejectNullPrefix() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); Assert.Throws <SmartyException>(() => client.Send(new Lookup())); }
internal void Write(IGrainState grainState, FakeSerializer serializer = null) { lock (_sync) { ETag = grainState.ETag; Data = (serializer ?? _serializer).Serialize(grainState.State); IsEmpty = false; } }
public void WhenDeserializing_ThenInvokesSerializer() { var data = new Data(); var serializer = new FakeSerializer(data); var result = serializer.Deserialize <Data>(new byte[] { 25, 20 }); Assert.Same(data, result); }
public void Update(object state, string etag = null, FakeSerializer serializer = null) { lock (_sync) { Data = (serializer ?? _serializer).Serialize(state); ETag = etag; IsEmpty = false; } }
public void TestSendingSinglePrefixOnlyLookup() { var serializer = new FakeSerializer(new byte[0]); var client = new Client(this.urlSender, serializer); client.Send(new Lookup("1")); Assert.AreEqual("http://localhost/?prefix=1&geolocate=true&geolocate_precision=city", capturingSender.Request.GetUrl()); }
public void WhenSerializing_ThenInvokesSerializer() { var serializer = new FakeSerializer(); var data = new Data(); serializer.Serialize(data); Assert.Same(data, serializer.Data); }
public void TestSendingLookup() { var serializer = new FakeSerializer(null); var client = new Client(this.sender, serializer); var lookup = new Lookup(44.888888888, -111.111111111); client.Send(lookup); Assert.AreEqual("http://localhost/?latitude=44.88888889&longitude=-111.11111111", this.capturingSender.Request.GetUrl()); }
public async Task TestSendingSingleZipOnlyLookupAsync() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client("http://localhost/", sender, serializer); await client.SendAsync(new Lookup("1")); Assert.AreEqual("http://localhost/?zipcode=1", sender.Request.GetUrl()); }
public async Task TestSendingSingleFreeformLookupAsync() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client("http://localhost/", sender, serializer); await client.SendAsync(new Lookup("freeform")); Assert.AreEqual("http://localhost/?street=freeform", sender.Request.GetUrl()); }
public void TestSendingFreeformLookup() { var serializer = new FakeSerializer(null); var client = new Client(this.sender, serializer); var lookup = new Lookup("freeform", "USA"); client.Send(lookup); Assert.AreEqual("http://localhost/?country=USA&freeform=freeform", capturingSender.Request.GetUrl()); }
internal void Read(IGrainState grainState, FakeSerializer serializer = null) { lock (_sync) { if (!IsEmpty) { grainState.ETag = ETag; grainState.State = (serializer ?? _serializer).Deserialize(Data); } } }
public void TestSendingSingleZipOnlyLookup() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); client.Send(new Lookup("1")); Assert.AreEqual("?zipcode=1", sender.Request.GetUrl()); }
public void TestContentTypeSetCorrectly() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); var lookup = new Lookup("Hello, World!"); client.Send(lookup); Assert.AreEqual("text/plain", this.capturingSender.Request.ContentType); }
public void TestSendingSingleFreeformLookup() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); client.Send(new Lookup("freeform")); Assert.AreEqual("?street=freeform", sender.Request.GetUrl()); }
public void MultipleDeserializersWithSameContentTypeShouldThrowException() { var deserializer1 = new FakeSerializer("my/content/type"); var deserializer2 = new FakeSerializer("my/content/type"); Assert.That(() => new MessageDeserializerResolver(new FakeSerializer("xml"), new IMessageSerializer[] { deserializer1, deserializer2 }), Throws.Exception.TypeOf<Exception>().And.Message.Contains($"Multiple deserializers are registered for content-type '{deserializer1.ContentType}'. Remove ambiguous deserializers.")); }
public void MultipleDeserializersWithSameContentTypeShouldThrowException() { var deserializer1 = new FakeSerializer("my/content/type"); var deserializer2 = new FakeSerializer("my/content/type"); Assert.That(() => new MessageDeserializerResolver(new FakeSerializer("xml"), new IMessageSerializer[] { deserializer1, deserializer2 }), Throws.Exception.TypeOf <Exception>().And.Message.Contains($"Multiple deserializers are registered for content-type '{deserializer1.ContentType}'. Remove ambiguous deserializers.")); }
public void TestEmptyBatchNotSent() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client("http://localhost/", sender, serializer); var batch = new Batch(); client.Send(batch); Assert.Null(sender.Request); }
public async Task TestEmptyBatchNotSentAsync() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); var batch = new Batch(); await client.SendAsync(batch); Assert.Null(sender.Request); }
public void TestSendingBodyOnlyLookup() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); const string expectedUrl = "http://localhost/?aggressive=false&addr_line_breaks=true&addr_per_line=0"; var expectedPayload = Encoding.ASCII.GetBytes("Hello, World!"); client.Send(new Lookup("Hello, World!")); Assert.AreEqual(expectedUrl, capturingSender.Request.GetUrl()); Assert.AreEqual(expectedPayload, capturingSender.Request.Payload); }
public void NoContentTypeFallsBackToDefaultSerialization() { var defaultSerializer = new FakeSerializer(ContentTypes.Xml); var resolver = new MessageDeserializerResolver(defaultSerializer, new IMessageSerializer[] { new FakeSerializer(ContentTypes.Json) }); var serializer = resolver.Resolve(new Dictionary <string, string>()); Assert.AreEqual(defaultSerializer, serializer); }
public void NoContentTypeFallsBackToDefaultSerialization() { var defaultSerializer = new FakeSerializer(ContentTypes.Xml); var resolver = new MessageDeserializerResolver(defaultSerializer, new IMessageSerializer[] { new FakeSerializer(ContentTypes.Json) }); var serializer = resolver.Resolve(new Dictionary<string, string>()); Assert.AreEqual(defaultSerializer, serializer); }
public async Task TestSuccessfullySendsBatchOfLookupsAsync() { var sender = new RequestCapturingSender(); var expectedPayload = Encoding.ASCII.GetBytes("Hello, world!"); var serializer = new FakeSerializer(expectedPayload); var client = new Client("http://localhost/", sender, serializer); var batch = new Batch { new Lookup(), new Lookup() }; await client.SendAsync(batch); Assert.AreEqual(expectedPayload, sender.Request.Payload); }
public void TestSuccessfullySendsBatchOfAddressLookups() { var sender = new RequestCapturingSender(); var expectedPayload = Encoding.ASCII.GetBytes("Hello World!"); var serializer = new FakeSerializer(expectedPayload); var client = new Client(sender, serializer); var batch = new Batch { new Lookup(), new Lookup() }; client.Send(batch); Assert.AreEqual(expectedPayload, sender.Request.Payload); }
public async Task TestSendingSingleFullyPopulatedLookupAsync() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client("http://localhost/", sender, serializer); var lookup = new Lookup(); lookup.City = "1"; lookup.State = "2"; lookup.ZipCode = "3"; await client.SendAsync(lookup); Assert.AreEqual("http://localhost/?city=1&state=2&zipcode=3", sender.Request.GetUrl()); }
public Activation_New(Fixture fx, Placement placement) { _fx = fx; _placement = placement; _serializer = fx.Serializer; _scheduler = new GrainTaskScheduler(fx.Scheduler, fx.Exceptions); _runner = new RequestRunner(_scheduler, fx.Exceptions, fx.Requests, true); //default isolation??? _timers = new MockTimerRegistry(_scheduler); _receivers = new StreamReceiverRegistry(_serializer); _storage = fx.Stores.GetStorage(placement); _reminders = fx.Reminders.GetRegistry(placement); Placement = placement; Dispatcher = new ActivationDispatcher(_runner, CreateGrainContext); }
public void TestSendingSingleFullyPopulatedLookup() { var sender = new RequestCapturingSender(); var serializer = new FakeSerializer(null); var client = new Client(sender, serializer); var lookup = new Lookup { City = "1", State = "2", ZipCode = "3" }; client.Send(lookup); Assert.AreEqual("?city=1&state=2&zipcode=3", sender.Request.GetUrl()); }
public void UnknownContentTypeFallsBackToDefaultSerialization() { var defaultSerializer = new FakeSerializer(ContentTypes.Xml); var resolver = new MessageDeserializerResolver(defaultSerializer, new IMessageSerializer[] { new FakeSerializer(ContentTypes.Json) }); var headers = new Dictionary<string, string> { {Headers.ContentType, "unknown/unsupported"} }; var serializer = resolver.Resolve(headers); Assert.AreSame(defaultSerializer, serializer); }
public void TestSendingFullyPopulatedLookup() { var serializer = new FakeSerializer(null); var client = new Client(this.urlSender, serializer); const string expectedUrl = "http://localhost/?html=true&aggressive=true&addr_line_breaks=false&addr_per_line=2"; var lookup = new Lookup("1"); lookup.SpecifyHtmlInput(true); lookup.IsAggressive = true; lookup.AddressesHaveLineBreaks = false; lookup.AddressesPerLine = 2; client.Send(lookup); Assert.AreEqual(expectedUrl, capturingSender.Request.GetUrl()); }
public void RetrievesSerializerByContentType(string contentType) { var expectedResolver = new FakeSerializer(contentType); var resolver = new MessageDeserializerResolver(new FakeSerializer("default"), new IMessageSerializer[] { new FakeSerializer("some/content/type"), expectedResolver, new FakeSerializer("another/content/type") }); var headers = new Dictionary<string, string> { {Headers.ContentType, contentType} }; var serializer = resolver.Resolve(headers); Assert.AreSame(expectedResolver, serializer); }
public void CreateStructures_WhenSerializerIsSpecified_SerializerIsConsumed() { var schema = StructureSchemaTestFactory.CreateRealFrom<GuidItem>(); var serializer = new FakeSerializer { OnSerialize = (i, s) => { var itm = (GuidItem)i; return itm.StructureId + ";" + itm.Value; } }; var items = CreateGuidItems(3).ToArray(); Builder.StructureSerializer = serializer; var structures = Builder.CreateStructures(items, schema).ToList(); Assert.AreEqual(3, structures.Count); Assert.AreEqual(items[0].StructureId + ";" + items[0].Value, structures[0].Data); Assert.AreEqual(items[1].StructureId + ";" + items[1].Value, structures[1].Data); Assert.AreEqual(items[2].StructureId + ";" + items[2].Value, structures[2].Data); }