/// <summary>
        /// Integration test for Serviceareas
        /// </summary>
        public async void TestServiceareas()
        {
            // first test the POST.
            var request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas");

            // create a new object.
            ServiceArea servicearea = new ServiceArea();
            string      jsonString  = servicearea.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            var response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);
            // get the id
            var id = servicearea.Id;

            // now do an update.
            request         = new HttpRequestMessage(HttpMethod.Put, "/api/serviceareas/" + id);
            request.Content = new StringContent(servicearea.ToJson(), Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // do a get.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + id);
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);

            // do a delete.
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);
        }
Beispiel #2
0
        private ServiceArea CreateServiceArea(string name)
        {
            ServiceArea result = new ServiceArea();

            var request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas");

            result.Name = name;
            string jsonString = result.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            Task <HttpResponseMessage> responseTask = _client.SendAsync(request);

            responseTask.Wait();

            HttpResponseMessage response = responseTask.Result;

            response.EnsureSuccessStatusCode();

            Task <string> stringTask = response.Content.ReadAsStringAsync();

            stringTask.Wait();

            // parse as JSON.
            jsonString = stringTask.Result;
            result     = JsonConvert.DeserializeObject <ServiceArea>(jsonString);

            return(result);
        }
Beispiel #3
0
        /// <summary>
        /// Test the creation of the rotation list, a side effect of rental request record creation.
        /// </summary>
        public async Task TestRotationListNonDumpTruck()
        {
            string initialName = "InitialName";

            // create a temporary region.
            var    request = new HttpRequestMessage(HttpMethod.Post, "/api/regions");
            Region region  = new Region();

            region.Name = initialName;

            request.Content = new StringContent(region.ToJson(), Encoding.UTF8, "application/json");

            var response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            string jsonString = await response.Content.ReadAsStringAsync();

            region = JsonConvert.DeserializeObject <Region>(jsonString);

            request = new HttpRequestMessage(HttpMethod.Post, "/api/districts");

            // create a new District
            District district = new District();

            district.Id     = 0;
            district.Name   = initialName;
            district.Region = region;
            jsonString      = district.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            district = JsonConvert.DeserializeObject <District>(jsonString);

            // create a new Service Area
            request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas");
            ServiceArea serviceArea = new ServiceArea();

            serviceArea.Id       = 0;
            serviceArea.Name     = initialName;
            serviceArea.District = district;
            jsonString           = serviceArea.ToJson();
            request.Content      = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response             = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            serviceArea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);

            // create a new Local Area
            request = new HttpRequestMessage(HttpMethod.Post, "/api/localAreas");
            LocalArea localArea = new LocalArea();

            localArea.Id = 0;
            localArea.LocalAreaNumber = 1234;
            localArea.ServiceArea     = serviceArea;
            jsonString      = localArea.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            localArea = JsonConvert.DeserializeObject <LocalArea>(jsonString);

            // create a new Equipment Type
            request = new HttpRequestMessage(HttpMethod.Post, "/api/equipmentTypes");

            // create a new equipment type
            EquipmentType equipmentType = new EquipmentType();

            equipmentType.Id             = 0;
            equipmentType.Name           = initialName;
            equipmentType.IsDumpTruck    = false;
            equipmentType.NumberOfBlocks = 2;

            jsonString      = equipmentType.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            equipmentType = JsonConvert.DeserializeObject <EquipmentType>(jsonString);

            request = new HttpRequestMessage(HttpMethod.Post, "/api/districtEquipmentTypes");

            // create a new District Equipment Type
            DistrictEquipmentType districtEquipmentType = new DistrictEquipmentType();

            districtEquipmentType.Id = 0;
            districtEquipmentType.DistrictEquipmentName = initialName;
            districtEquipmentType.District      = district;
            districtEquipmentType.EquipmentType = equipmentType;
            jsonString      = districtEquipmentType.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            districtEquipmentType = JsonConvert.DeserializeObject <DistrictEquipmentType>(jsonString);

            // create equipment.
            int numberEquipment = 75;

            Equipment[] testEquipment = new Equipment[numberEquipment];
            int         blockCount    = 0;
            int         currentBlock  = 1;

            for (int i = 0; i < numberEquipment; i++)
            {
                testEquipment[i]                       = new Equipment();
                testEquipment[i].LocalArea             = localArea;
                testEquipment[i].DistrictEquipmentType = districtEquipmentType;
                testEquipment[i].Seniority             = (numberEquipment - i + 1) * 1.05F;
                testEquipment[i].IsSeniorityOverridden = true;
                testEquipment[i].BlockNumber           = currentBlock;
                testEquipment[i]                       = CreateEquipment(testEquipment[i]);
                ++blockCount;
                if (blockCount >= 10 && currentBlock < 2)
                {
                    currentBlock++;
                    blockCount = 0;
                }

                // avoid database problems due to too many requests
                System.Threading.Thread.Sleep(200);
            }

            // Now create the rental request.
            request = new HttpRequestMessage(HttpMethod.Post, "/api/rentalrequests");
            RentalRequest rentalRequest = new RentalRequest();

            rentalRequest.Status                = initialName;
            rentalRequest.LocalArea             = localArea;
            rentalRequest.DistrictEquipmentType = districtEquipmentType;

            jsonString      = rentalRequest.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            rentalRequest = JsonConvert.DeserializeObject <RentalRequest>(jsonString);
            // get the id
            var id = rentalRequest.Id;

            // do a get.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/rentalrequests/" + id);
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            rentalRequest = JsonConvert.DeserializeObject <RentalRequest>(jsonString);

            // should be the same number of equipment.
            Assert.Equal(rentalRequest.RentalRequestRotationList.Count, numberEquipment);

            // do a delete.
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/rentalrequests/" + id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/rentalrequests/" + id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // remove equipment.

            for (int i = 0; i < numberEquipment; i++)
            {
                request  = new HttpRequestMessage(HttpMethod.Post, "/api/equipment/" + testEquipment[i].Id + "/delete");
                response = await _client.SendAsync(request);

                response.EnsureSuccessStatusCode();

                // should get a 404 if we try a get now.
                request  = new HttpRequestMessage(HttpMethod.Get, "/api/equipment/" + testEquipment[i].Id);
                response = await _client.SendAsync(request);

                Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
            }

            // now remove the other temporary objects.

            // districtEquipmentType
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/districtEquipmentTypes/" + districtEquipmentType.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/districtEquipmentTypes/" + districtEquipmentType.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // equipmentType
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/equipmentTypes/" + equipmentType.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/equipmentTypes/" + equipmentType.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // localArea
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/localAreas/" + localArea.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/localAreas/" + localArea.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // Service Area
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + serviceArea.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + serviceArea.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // District
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/districts/" + district.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/districts/" + district.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // Region
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/regions/" + region.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/regions/" + region.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
        /// <summary>
        /// Basic Integration test for LocalAreas
        /// </summary>
        public async Task TestLocalAreasBasic()
        {
            string initialName = "InitialName";
            string changedName = "ChangedName";

            // localAreas have service areas.
            ServiceArea servicearea = new ServiceArea
            {
                Name = initialName
            };

            string jsonString = servicearea.ToJson();

            var request = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas")
            {
                Content = new StringContent(jsonString, Encoding.UTF8, "application/json")
            };

            var response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);

            // test the POST.
            request = new HttpRequestMessage(HttpMethod.Post, "/api/localAreas");

            // create a new object.
            LocalArea localarea = new LocalArea
            {
                ServiceArea = servicearea,
                Name        = initialName
            };

            jsonString = localarea.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            localarea = JsonConvert.DeserializeObject <LocalArea>(jsonString);
            // get the id
            var id = localarea.Id;

            // change the name
            localarea.Name = changedName;

            // now do an update.
            request = new HttpRequestMessage(HttpMethod.Put, "/api/localAreas/" + id)
            {
                Content = new StringContent(localarea.ToJson(), Encoding.UTF8, "application/json")
            };

            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // do a get.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/localAreas/" + id);
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            localarea = JsonConvert.DeserializeObject <LocalArea>(jsonString);

            // verify the change went through.
            Assert.Equal(localarea.Name, changedName);

            // do a delete.
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/localAreas/" + id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/localAreas/" + id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);

            // do a delete.
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + servicearea.Id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + servicearea.Id);
            response = await _client.SendAsync(request);

            Assert.Equal(HttpStatusCode.NotFound, response.StatusCode);
        }
Beispiel #5
0
        /// <summary>
        /// Integration test for FindBusById
        /// </summary>
        public async void TestSchoolBuses()
        {
            // create a service area.
            var         request     = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas");
            ServiceArea servicearea = new ServiceArea();
            string      jsonString  = servicearea.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            var response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);
            var servicearea_id = servicearea.Id;


            // create a schoolbus owner.
            request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners");
            SchoolBusOwner schoolBusOwner = new SchoolBusOwner();

            jsonString      = schoolBusOwner.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString);
            var schoolBusOwner_id = schoolBusOwner.Id;

            // create a bus
            request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses");

            // create a new schoolbus.
            SchoolBus schoolbus = new SchoolBus();

            schoolbus.Status         = "0";
            schoolbus.ServiceArea    = servicearea;
            schoolbus.SchoolBusOwner = schoolBusOwner;


            jsonString = schoolbus.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString);
            // get the id
            var id = schoolbus.Id;

            // make a change.
            string testStatus = "1";

            schoolbus.Status = testStatus;
            // now do an update.

            request         = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbuses/" + id);
            request.Content = new StringContent(schoolbus.ToJson(), Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // do a get.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id);
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString);

            // compare the change, should match.
            Assert.Equal(schoolbus.Status, testStatus);

            //test attachments
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/attachments");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            //test attachments
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/ccwdata");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            //test history
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/history");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            //test notes
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/notes");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            //test inspections
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id + "/inspections");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // do a delete.
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses/" + id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);

            // cleanup service area.

            request  = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + servicearea_id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + servicearea_id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);

            // cleanup schoolbus owner

            request  = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + schoolBusOwner_id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);
        }
Beispiel #6
0
        /// <summary>
        /// Integration test for GetAllBuses
        /// </summary>
        public async void TestBusSearch()
        {
            //setup test
            // create a service area.
            var         request     = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas");
            ServiceArea servicearea = new ServiceArea();
            string      jsonString  = servicearea.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            var response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            servicearea = JsonConvert.DeserializeObject <ServiceArea>(jsonString);
            var servicearea_id = servicearea.Id;


            // create a schoolbus owner.
            request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners");
            SchoolBusOwner schoolBusOwner = new SchoolBusOwner();

            jsonString      = schoolBusOwner.ToJson();
            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolBusOwner = JsonConvert.DeserializeObject <SchoolBusOwner>(jsonString);
            var schoolBusOwner_id = schoolBusOwner.Id;

            // create a bus
            request = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses");

            // create a new schoolbus.
            SchoolBus schoolbus = new SchoolBus();

            schoolbus.Status         = "Active";
            schoolbus.ServiceArea    = servicearea;
            schoolbus.SchoolBusOwner = schoolBusOwner;
            schoolbus.VIN            = "1234";
            schoolbus.Plate          = "12345";

            jsonString = schoolbus.ToJson();

            request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json");

            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString);
            // get the id
            var id = schoolbus.Id;

            // make a change.
            string testStatus = "1";

            schoolbus.Status = "Active";
            // now do an update.

            request         = new HttpRequestMessage(HttpMethod.Put, "/api/schoolbuses/" + id);
            request.Content = new StringContent(schoolbus.ToJson(), Encoding.UTF8, "application/json");
            response        = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // do a get.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id);
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // parse as JSON.
            jsonString = await response.Content.ReadAsStringAsync();

            schoolbus = JsonConvert.DeserializeObject <SchoolBus>(jsonString);

            // test the search

            var parametersToAdd = new System.Collections.Generic.Dictionary <string, string> {
                { "servicearea", "[" + servicearea_id + "]" }
            };

            SchoolBus[] searchresults = await SearchHelper(parametersToAdd);

            Assert.NotNull(searchresults);
            Assert.NotEqual(searchresults.Length, 0);
            bool found = false;

            foreach (SchoolBus item in searchresults)
            {
                if (item.Id == id)
                {
                    found = true;
                }
            }

            Assert.Equal(found, true);

            parametersToAdd = new System.Collections.Generic.Dictionary <string, string> {
                { "owner", "" + schoolBusOwner_id }
            };
            searchresults = await SearchHelper(parametersToAdd);

            Assert.NotNull(searchresults);
            Assert.NotEqual(searchresults.Length, 0);
            found = false;
            foreach (SchoolBus item in searchresults)
            {
                if (item.Id == id)
                {
                    found = true;
                }
            }

            Assert.Equal(found, true);

            parametersToAdd = new System.Collections.Generic.Dictionary <string, string> {
                { "vin", "1234" }
            };
            searchresults = await SearchHelper(parametersToAdd);

            Assert.NotNull(searchresults);
            Assert.NotEqual(searchresults.Length, 0);
            found = false;
            foreach (SchoolBus item in searchresults)
            {
                if (item.Id == id)
                {
                    found = true;
                }
            }

            Assert.Equal(found, true);

            parametersToAdd = new System.Collections.Generic.Dictionary <string, string> {
                { "plate", "12345" }
            };
            searchresults = await SearchHelper(parametersToAdd);

            Assert.NotNull(searchresults);
            Assert.NotEqual(searchresults.Length, 0);
            found = false;
            foreach (SchoolBus item in searchresults)
            {
                if (item.Id == id)
                {
                    found = true;
                }
            }

            Assert.Equal(found, true);


            // teardown
            request  = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbuses/" + id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbuses/" + id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);

            // cleanup service area.

            request  = new HttpRequestMessage(HttpMethod.Post, "/api/serviceareas/" + servicearea_id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/serviceareas/" + servicearea_id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);

            // cleanup schoolbus owner

            request  = new HttpRequestMessage(HttpMethod.Post, "/api/schoolbusowners/" + schoolBusOwner_id + "/delete");
            response = await _client.SendAsync(request);

            response.EnsureSuccessStatusCode();

            // should get a 404 if we try a get now.
            request  = new HttpRequestMessage(HttpMethod.Get, "/api/schoolbusowners/" + schoolBusOwner_id);
            response = await _client.SendAsync(request);

            Assert.Equal(response.StatusCode, HttpStatusCode.NotFound);
        }