def test_site_forward_cascade(self): """ Deleting a site should delete all the associated nodes """ SiteSeeder.seed_ricefield_site(n_nodes = 3) assert Site.query.count() == 1 assert Node.query.count() > 0 Site.query.delete() assert Site.query.count() == 0 assert Node.query.count() == 0
def test_site_backwards_cascade(self): """ Deleting an object referenced by a site should NOT delete the site """ SiteSeeder.seed_ricefield_site(n_nodes = 3) assert Site.query.count() == 1 assert Node.query.count() > 0 n_deleted = Node.query.delete() assert n_deleted == 3 assert Site.query.count() == 1 assert Node.query.count() == 0
def test_GET_existing_site_by_id(self): site = SiteSeeder.seed_empty_site() url = UrlHelper.get_url(flapp, 'site', site.id) response = requests.get(url) assert response.ok api_response = ApiResponseHelper.assert_api_response(response) assert api_response.first() == site.json()
def test_POST_nodes_populate(self): """ Test that populate options creates the valid number of readings data """ populate_number = 3 site = SiteSeeder.seed_empty_site() args = { 'site_id': site.id, 'latitude': 13.2, 'longitude': 23.2, 'populate': populate_number } node = NodeSeeder.seed_node('ricefield', **args) url = UrlHelper.get_url(flapp, 'nodes') r = requests.get(url) api_response = ApiResponseHelper.assert_api_response(r) assert api_response.ok nodes = map(lambda n: n.json(), Node.query.all()) # get readings?sensor_id=xxxx and check whether the number of the value of readings is equal to 3 for n in nodes: for s in n['sensors']: url = UrlHelper.get_url(flapp, 'readings', sensor_id=s['id']) response = requests.get(url) assert response.ok api_response = ApiResponseHelper.assert_api_response(response) assert api_response.ok assert len(api_response.objects) == populate_number
def test_DELETE_site(self): site = SiteSeeder.seed_empty_site() url = UrlHelper.get_url(flapp, 'site', site.id) response = requests.delete(url) assert response.ok response = requests.get(url) assert response.ok api_response = ApiResponseHelper.assert_api_response(response, expect_success = False)
def test_POST_create_node_with_existing_site(self): site = SiteSeeder.seed_empty_site() url = UrlHelper.get_url(flapp, 'node') data = {'alias':'mynode', 'site_id': site.id, 'latitude' : 13.2, 'longitude': 23.2} response = requests.post(url, data = data) assert response.ok api_response = ApiResponseHelper.assert_api_response(response) node = Node.query.first().json() assert node == api_response.first()
def test_DELETE_site(self): site = SiteSeeder.seed_empty_site() url = UrlHelper.get_url(flapp, 'site', site.id) response = requests.delete(url) assert response.ok response = requests.get(url) assert response.ok api_response = ApiResponseHelper.assert_api_response( response, expect_success=False)
def test_POST_create_node_with_existing_site(self): site = SiteSeeder.seed_empty_site() url = UrlHelper.get_url(flapp, 'node') data = { 'alias': 'mynode', 'site_id': site.id, 'latitude': 13.2, 'longitude': 23.2 } response = requests.post(url, data=data) assert response.ok api_response = ApiResponseHelper.assert_api_response(response) node = Node.query.first().json() assert node == api_response.first()
def test_POST_nodes_populate(self): """ Test that populate options creates the valid number of readings data """ populate_number = 3 site = SiteSeeder.seed_empty_site() args = {'site_id': site.id, 'latitude': 13.2, 'longitude': 23.2, 'populate': populate_number} node = NodeSeeder.seed_node('ricefield', **args) url = UrlHelper.get_url(flapp, 'nodes') r = requests.get(url) api_response = ApiResponseHelper.assert_api_response(r) assert api_response.ok nodes = map(lambda n: n.json(), Node.query.all()) # get readings?sensor_id=xxxx and check whether the number of the value of readings is equal to 3 for n in nodes: for s in n['sensors']: url = UrlHelper.get_url(flapp, 'readings', sensor_id = s['id']) response = requests.get(url) assert response.ok api_response = ApiResponseHelper.assert_api_response(response) assert api_response.ok assert len(api_response.objects) == populate_number
def test_ricefield_site_returns_site_with_one_node(self): site = SiteSeeder.seed_ricefield_site() assert isinstance(site, Site) assert len(site.nodes) == 1
def post(self): response = ApiResponse() site_alias = RequestHelper.get_form_data(response, 'alias', str) response += SiteSeeder.seed_empty_site(site_alias=site_alias) return response.json()
def post(self): response = ApiResponse() site_alias = RequestHelper.get_form_data(response, 'alias', str) response += SiteSeeder.seed_empty_site(site_alias = site_alias) return response.json()
def test_site_json_method(self): site = SiteSeeder.seed_ricefield_site() site_json = site.json() JSONHelper.test_model_json_method(Site, site_json)