public void CanDeleteAndGetResultWithAccept() { // Act string text = DossierReq.Accept <string>().Delete().Body; // Assert Assert.AreEqual("Deleted, yup!", text); }
public void CanPutAndGetResultWithAccept() { // Act Dossier newDossier = DossierReq.Accept <Dossier>().Put(MyDossier).Body; // Assert Assert.IsNotNull(newDossier); }
public void CanDeleteAndGetResultWithAccept() { // Act using (var r = DossierReq.Accept <string>().Delete()) { // Assert Assert.AreEqual("Deleted, yup!", r.Body); } }
public void CanPutAndGetResultWithAccept() { // Act using (var newDossier = DossierReq.Accept <Dossier>().Put(MyDossier)) { // Assert Assert.IsNotNull(newDossier.Body); } }
public override void DoGet(Request request) { // Accept the request to promise the client this request will be acted. request.Accept(); // ... and then do nothing. Pretty mean... }
public void CanPostSimpleMultipartFormDataWithEncoding( [Values("UTF-8", "iso-8859-1")] string charsetIn, [Values("UTF-8", "iso-8859-1")] string charsetOut) { // Arrange MultipartData data = new MultipartData { Name = "ÆØÅüî", Age = 10, Active = true }; Request formdataReq = Session.Bind(MultipartFormDataTemplate); // NOTE: I haven't found a way to test what encoding it actually uses for the post data, // so that must be inspected using Fiddler :-( // Act using (Response <string> response = formdataReq.Accept("text/plain") .AcceptCharset(charsetOut) .CodecParameter("Charset", charsetIn) .ContentType("multipart/form-data") .Post <string>(data)) { // Assert Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data")); Assert.AreEqual(charsetOut, response.Headers["x-accept-charset"]); Assert.AreEqual("ÆØÅüî-10-True", response.Body); } }
public void RequestMessageConsistencyTest() { var original = new Request() { Id = Guid.NewGuid(), Data = new byte[] { 0xAA, 0xBB, 0xCC, 0xDD } }; // Serializing var serializer = new MessageSerializingVisitor(); original.Accept(serializer); var serializedData = serializer.Result; Assert.NotNull(serializedData); Assert.True(serializedData.Length > 0); // Deserializing var deserializer = new MessageDeserializingVisitor() { DataBuffer = serializedData, DataLength = serializedData.Length, BufferOffset = 0 }; var reconstructedMessage = new Request(); reconstructedMessage.Accept(deserializer); Assert.AreEqual(original.Id, reconstructedMessage.Id); Assert.AreEqual(original.Data, reconstructedMessage.Data); }
private void AcceptRequest(Request request, DateTimeOffset acceptTime, int userId, int?impersonatorId, InterpreterBroker interpreter, InterpreterLocation interpreterLocation, CompetenceAndSpecialistLevel competenceLevel, List <OrderRequirementRequestAnswer> requirementAnswers, List <RequestAttachment> attachedFiles, decimal?expectedTravelCosts, string expectedTravelCostInfo, VerificationResult?verificationResult, DateTimeOffset?latestAnswerTimeForCustomer, string brokerReferenceNumber, bool overrideRequireAccept = false) { NullCheckHelper.ArgumentCheckNull(request, nameof(AcceptRequest), nameof(RequestService)); //Get prices var prices = _priceCalculationService.GetPrices(request, competenceLevel, expectedTravelCosts); request.Accept(acceptTime, userId, impersonatorId, interpreter, interpreterLocation, competenceLevel, requirementAnswers, attachedFiles, prices, expectedTravelCostInfo, latestAnswerTimeForCustomer, brokerReferenceNumber, verificationResult, overrideRequireAccept); }
public void CanDoOptionsWithReturnedBody() { // Act using (Response <string> response1 = DossierReq.Options <string>()) using (Response <string> response2 = DossierReq.Accept <string>().Options()) using (Response response3 = DossierReq.Accept("text/plain").Options()) { // Assert Assert.IsNotNull(response1); Assert.IsNotNull(response2); Assert.IsNotNull(response3); Assert.AreEqual("2", response1.Headers["X-ExtraHeader"]); Assert.AreEqual("2", response2.Headers["X-ExtraHeader"]); Assert.AreEqual("2", response3.Headers["X-ExtraHeader"]); Assert.AreEqual("Yes", response1.Body); Assert.AreEqual("Yes", response2.Body); Assert.AreEqual("Yes", response3.Decode <string>()); } }
public void CanGetCatAsTextWithShorthandNotation() { // Arrange Request catReq = Session.Bind(CatTemplate, new { name = "Fiona" }); // Act Cat c = catReq.Accept("text/plain").Get <Cat>().Body; // Assert Assert.AreEqual("Fiona", c.Name); }
public void CanGetCatAsHtml() { // Arrange Request catReq = Session.Bind(CatTemplate, new { name = "Fiona" }); // Act Cat c = catReq.Accept("text/html").Get <Cat>().Body; // Assert Assert.AreEqual("<html><body><p>Fiona</p></body></html>", c.Name); }
public void CanSpecifyAcceptAsGenericWithMediaType() { // Arrange Request catReq = Session.Bind(CatTemplate, new { name = "Fiona" }); // Act Cat c = catReq.Accept <Cat>("text/plain").Get().Body; // Assert Assert.IsNotNull(c); }
public void CanSpecifyAcceptAsGenericWithoutMediaType() { // Arrange Request dossierReq = Session.Bind(DossierTemplate, new { id = 8 }); // Act Dossier dossier = dossierReq.Accept <Dossier>().Get().Body; // Assert Assert.IsNotNull(dossier); }
public void CanPostEmptyBody_Untyped() { // Arrange Request request = Session.Bind(AnyEchoTemplate); // Act Response response = request.Accept("text/plain").ContentType("application/octet-stream").Post(); // Assert Assert.AreEqual(null, response.Body); }
public void CanPutEmptyBody_Untyped() { // Arrange Request request = Session.Bind(AnyEchoTemplate); // Act Response response = request.Accept("text/plain").ContentType("application/x-www-url-formencoded").Put(); // Assert Assert.AreEqual(null, response.Body); }
public void TestCache() { HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Revalidate); Session.CachePolicy = policy; Request req = new Request(Session, new Uri("http://www.dr.dk/drfront/images//2013/05/21/c=0,17,1024,505;w=300;42676.jpg")); using (var resp = req.Accept("image/jpeg").Get <byte[]>()) { resp.SaveToFile("c:\\tmp\\scrap.jpg"); Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode); } using (var resp = req.Accept("image/jpeg").Get <byte[]>()) { resp.SaveToFile("c:\\tmp\\scrap.jpg"); Assert.AreEqual(HttpStatusCode.NotModified, resp.StatusCode); } }
public void CanPostUnregisteredType() { UnregisteredClass data = new UnregisteredClass { Text = "Hello" }; Request request = Session.Bind(XmlEchoTemplate); Response <UnregisteredClass> response = request.Accept("application/xml").ContentType("application/xml").Post <UnregisteredClass>(data); Assert.AreEqual(data.Text, response.Body.Text); }
public void CanPostEmptyBody_Typed() { // Arrange Request request = Session.Bind(AnyEchoTemplate); // Act using (Response <string> response = request.Accept("text/plain").ContentType("application/octet-stream").Post <string>()) { // Assert Assert.IsNull(response.Body); } }
public void CanDoOptionsWithBody() { // Arrange Request dossierReq = Session.Bind(DossierTemplate, new { id = 8 }); // Act Response <string> response1 = dossierReq.Options <string>(); Response <string> response2 = dossierReq.Accept <string>().Options(); Response response3 = dossierReq.Accept("text/plain").Options(); // Assert Assert.IsNotNull(response1); Assert.IsNotNull(response2); Assert.IsNotNull(response3); Assert.AreEqual("2", response1.Headers["X-ExtraHeader"]); Assert.AreEqual("2", response2.Headers["X-ExtraHeader"]); Assert.AreEqual("2", response3.Headers["X-ExtraHeader"]); Assert.AreEqual("Yes", response1.Body); Assert.AreEqual("Yes", response2.Body); Assert.AreEqual("Yes", response3.Decode <string>()); }
public void CanGetCatAsText() { // Arrange Request catReq = Session.Bind(CatTemplate, new { name = "Fiona" }); // Act using (var c = catReq.Accept("text/plain").Get <Cat>()) { // Assert Assert.AreEqual("Fiona", c.Body.Name); } }
public void CanGetStringFromOctetStream() { // Arrange Session.DefaultEncoding = Encoding.UTF8; Request stringReq = Session.Bind(FileTemplate); // Act string s = stringReq.Accept("application/octet-stream").Get <string>().Body; // Assert Assert.AreEqual("Hello ÆØÅ", s); }
public void CanReadJson() { // Arrange Request req = Session.Bind(CatTemplate, new { name = "Ramstein" }); // Act Cat cat = req.Accept("application/json").Get <Cat>().Body; // Assert Assert.IsNotNull(cat); Assert.AreEqual("Ramstein", cat.Name); }
public void CanPutEmptyBody_Typed() { // Arrange Request request = Session.Bind(AnyEchoTemplate); // Act using (Response <string> response = request.Accept("text/plain").ContentType("application/x-www-url-formencoded").Put <string>()) { // Assert Assert.IsNull(response.Body); } }
public void CanPostUnregisteredFormUrlEncodedUsingShorthand() { // Arrange var data = new { Name = "Pete", Age = 10 }; // Matches "MultipartData" class Request formdataReq = Session.Bind(MultipartFormDataTemplate); // Act Response <string> response = formdataReq.Accept("text/plain").AsFormUrlEncoded().Post <string>(data); // Assert Assert.AreEqual("application/x-www-form-urlencoded", response.Headers["x-contenttype"]); Assert.AreEqual("Pete-10", response.Body); }
public void CanPostSMultipartFormDataFromAnonymousTypes() { // Arrange var data = new { Name = "Pete", Age = 10 }; Request formdataReq = Session.Bind(MultipartFormDataTemplate); // Act Response <string> response = formdataReq.Accept("text/plain").ContentType("multipart/form-data").Post <string>(data); // Assert Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data")); Assert.AreEqual("Pete-10", response.Body); }
public void CanPostComplexClass() { // Arrange Guid g = Guid.NewGuid(); ComplexClassForOpenRastaSerializationTests o = new ComplexClassForOpenRastaSerializationTests { X = 15, Y = "Abc", IntArray = new List <int> { 1, 2 }, SubC = new ComplexClassForOpenRastaSerializationTests.SubClass { SubC = new ComplexClassForOpenRastaSerializationTests.SubClass { Data = new List <string> { "Benny" } }, Data = new List <string> { "Brian" } }, Dict = new Dictionary <string, string>(), Date = new DateTime(2012, 10, 30, 12, 13, 14), Dou = 15.234, GID = g }; o.Dict["abc"] = "123"; o.Dict["qwe"] = "xyz"; Session.SerializerSettings = new ObjectSerializerSettings { ArrayFormat = "{0}:{1}", DictionaryFormat = "{0}:{1}", PropertyFormat = "{0}.{1}" }; Request request = Session.Bind(ComplexClassTemplate); // Act using (Response <string> response = request.Accept("text/plain") .AsMultipartFormData() .Post <string>(o)) { // Assert Console.WriteLine(response.Body); Assert.AreEqual("|X=15|Y=Abc|IntArray[0]=1|IntArray[1]=2|SubC.SubC.Data[0]=Benny|SubC.Data[0]=Brian|Dict[abc]=123|Dict[qwe]=xyz|Date=2012-10-30T12:13:14|Dou=15.234|GID=" + g.ToString(), response.Body); } }
public void CanReadTyped() { // Arrange Request request = Session.Bind(FormUrlEncodedTemplate, new { mode = "x" }); // Act Response <FormUrlEncodedData> response = request.Accept("application/x-www-form-urlencoded") .Get <FormUrlEncodedData>(); FormUrlEncodedData data = response.Body; // Assert Assert.AreEqual("Abc", data.Title); Assert.AreEqual(15, data.Age); }
public void CanReadJsonAsDynamic() { // Arrange Request req = Session.Bind(CatTemplate, new { name = "Ramstein" }); // Act using (var r = req.Accept("application/json").Get()) { dynamic cat = r.Body; // Assert Assert.IsNotNull(cat); Assert.AreEqual("Ramstein", cat.Name); } }
public void CanPostSimpleMultipartFormDataUsingShorthand() { // Arrange MultipartData data = new MultipartData { Name = "Pete", Age = 10 }; Request formdataReq = Session.Bind(MultipartFormDataTemplate); // Act Response <string> response = formdataReq.Accept("text/plain").AsMultipartFormData().Post <string>(data); // Assert Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data")); Assert.AreEqual("Pete-10", response.Body); }
public void CanGetCatAsRawXml() { // Arrange Request catReq = Session.Bind(CatTemplate, new { name = "Fiona" }); // Act XmlDocument c = catReq.Accept("application/xml").Get <XmlDocument>().Body; // Assert Assert.IsNotNull(c); XmlNode nameNode = c.SelectSingleNode("//Cat/Name"); Assert.IsNotNull(nameNode); Assert.AreEqual("Fiona", nameNode.InnerText); }