public void TestPUTSetsTheCache() { // Arrange DataStore.CampusCache campusCache = new DataStore.CampusCache(); mapsController controller = new mapsController(campusCache); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, "/maps/map1"); string campusID = "testID"; // Action Dictionary <string, Dictionary <string, float> > testNodes = new Dictionary <string, Dictionary <string, float> >(); testNodes.Add("a", new Dictionary <string, float>()); testNodes["a"].Add("b", 20); testNodes.Add("b", new Dictionary <string, float>()); testNodes["b"].Add("q", 20); testNodes["b"].Add("c", 20); Models.CampusMap campusMap = mapsControllerTestsUtilities.GetACampusMap(); IHttpActionResult actionResult = controller.Put(campusID, campusMap); // Assert Assert.AreEqual(campusMap.nodes, campusCache.GetCampusMap(campusID).nodes); }
public void TestCallingPUTReturnsBadRequestErrorMessageResult() { // Arrange var controller = new mapsController(new CampusCache()); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, "/maps/map1"); controller.ModelState.AddModelError("fakeError", "fakeError"); // Action IHttpActionResult actionResult = controller.Put("", new Models.CampusMap() { }); // Assert Assert.AreEqual(typeof(System.Web.Http.Results.BadRequestErrorMessageResult), actionResult.GetType()); }
public void TestCallingGETReturnNotFoundErrorMessageResult() { // Arrange mapsController testObj = new mapsController(mapsControllerTestsUtilities.GetMapNode1Node2CampusCache()); testObj.Request = new HttpRequestMessage(); testObj.ControllerContext.Configuration = new HttpConfiguration(); // Action IHttpActionResult actionResultMap = testObj.Get("mapxxx", "node1", "node2"); IHttpActionResult actionResultNode1 = testObj.Get("map", "node1xxx", "node2"); IHttpActionResult actionResultNode2 = testObj.Get("map", "node1", "node2xxx"); HttpResponseMessage actionResultMapSanityCheck = testObj.Get("map", "node1", "node2").ExecuteAsync(System.Threading.CancellationToken.None).Result; // Assert Assert.AreEqual(typeof(System.Web.Http.Results.NotFoundResult), actionResultMap.GetType()); Assert.AreEqual(typeof(System.Web.Http.Results.NotFoundResult), actionResultNode1.GetType()); Assert.AreEqual(typeof(System.Web.Http.Results.NotFoundResult), actionResultNode2.GetType()); Assert.AreEqual(System.Net.HttpStatusCode.OK, actionResultMapSanityCheck.StatusCode); //Checking that NotFoundResult isnt always returned }