コード例 #1
0
	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
コード例 #2
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
コード例 #3
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()
コード例 #4
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()
コード例 #5
0
    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
コード例 #6
0
	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)
コード例 #7
0
	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()
コード例 #8
0
 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)
コード例 #9
0
 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()
コード例 #10
0
	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		
コード例 #11
0
 def test_ricefield_site_returns_site_with_one_node(self):
     site = SiteSeeder.seed_ricefield_site()
     assert isinstance(site, Site)
     assert len(site.nodes) == 1
コード例 #12
0
ファイル: resources.py プロジェクト: DgFutureLab/satoyama-api
    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()
コード例 #13
0
ファイル: resources.py プロジェクト: DgFutureLab/satoyama-api
	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()
コード例 #14
0
	def test_site_json_method(self):
		site = SiteSeeder.seed_ricefield_site()
		site_json = site.json()
		JSONHelper.test_model_json_method(Site, site_json)
コード例 #15
0
	def test_ricefield_site_returns_site_with_one_node(self):
		site = SiteSeeder.seed_ricefield_site()
		assert isinstance(site, Site)
		assert len(site.nodes) == 1