T.REST

T.REST encapsulates a call to a REST ressource such as /company/(somecompany)/contacts and verifies the result against an expected dictionary of properties.

T.REST is suited for regression-testing REST ressources in a Continuous Integration / Continouos Deployment environment to ensure that internal or external REST ressources do not change without sounding off an alarm.

T.REST is available on NuGet


Example of usage using Microsoft's MSTest:

[TestInitialize]        
public void TestInitialize() { RessourceFactory.Init(Assert.Fail,
Assert.AreEqual,
Assert.AreNotEqual,
Assert.AreEqual,
Assert.AreNotEqual); } [TestMethod] public void Demo() { var expected = new Dictionary<string, Type> { {"latitude", typeof (decimal)}, {"longitude", typeof (decimal)}, {"title", typeof(string)}, {"content", typeof(string)} }; var res = RessourceFactory.Create(new RestConfiguration { Url = "/svn/trunk/demos/json/demo.json", Host = "jquery-ui-map.googlecode.com", ExpectedObjectSignature = expected, ExpectArrayResult = true }); res.ValidateSignature(); }


T.REST was developed during a project at DGI where the backend system was scheduled for a large migration from home-grown backend systems to Microsoft CRM 2011. The framework was invaluable in securing backward-compatibility with external users depending on a wide range of REST ressources which provides clients with data from our backend in a REST-ful manner

The project was developed inhouse as a bunch of helper classes but due to a (very wise indeed) company strategy regarding open-source products the code developed in terms of T.REST have now been released as open-source for others to use.

Last edited Oct 15, 2012 at 8:01 PM by kerbou, version 15