示例#1
0
    def test_profile_csv(self):
        from pyramid.testing import DummyRequest
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 1},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 1}
            }
        }
        profile = Profile(request)

        request.params["nbPoints"] = "3"
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548009.5,215990],[547990,216009.5]]}'
        response = profile.csv()
        self.assertEqual(response.body, """distance,dem2,dem,x,y
0.0,1166,1166,548009,215990
9.2,1181,1181,548003,215996
18.4,1181,1181,547996,216003""")

        request.params["layers"] = "dem"
        response = profile.csv()
        self.assertEqual(response.body, """distance,dem,x,y
0.0,1166,548009,215990
9.2,1181,548003,215996
18.4,1181,547996,216003""")
示例#2
0
    def test_profile_csv(self):
        from pyramid.testing import DummyRequest
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 1},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 1}
            }
        }
        profile = Profile(request)

        request.params['nbPoints'] = '3'
        request.params['geom'] = '{"type":"LineString",' \
                                  '"coordinates":[[548009.5,215990],' \
                                                 '[547990,216009.5]]}'
        response = profile.csv()
        self.assertEqual(response.body, """distance,dem2,dem,x,y
0.0,1166,1166,548009,215990
9.2,1181,1181,548003,215996
18.4,1181,1181,547996,216003""")

        request.params['layers'] = 'dem'
        response = profile.csv()
        self.assertEqual(response.body, """distance,dem,x,y
0.0,1166,548009,215990
9.2,1181,548003,215996
18.4,1181,547996,216003""")
示例#3
0
    def test_profile_csv(self):
        from pyramid.testing import DummyRequest
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {
                    "file": "/src/tests/data/dem.shp",
                    "round": 1
                },
                "dem2": {
                    "file": "/src/tests/data/dem.shp",
                    "round": 1
                },
                "dem4": {
                    "file": "/src/tests/data/dem4.shp",
                    "round": 1
                }
            }
        }
        profile = Profile(request)

        request.params["nbPoints"] = "3"
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548009.5,215990],[547990,216009.5]]}'
        response = profile.csv()
        self.assertEqual(
            response.body.decode("utf-8"), """distance,dem,dem2,dem4,x,y
0.0,1166,1166,-9999,548009.5,215990.0
9.2,1181,1181,-9999,548003.0,215996.5
18.4,1181,1181,1181,547996.5,216003.0
27.6,1164,1164,1164,547990.0,216009.5""")

        request.params["layers"] = "dem"
        response = profile.csv()
        self.assertEqual(
            response.body.decode("utf-8"), """distance,dem,x,y
0.0,1166,548009.5,215990.0
9.2,1181,548003.0,215996.5
18.4,1181,547996.5,216003.0
27.6,1164,547990.0,216009.5""")
示例#4
0
    def test_profile_json(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4}
            }
        }
        profile = Profile(request)

        request.params["nbPoints"] = "3"
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548009.5,215990],[547990,216009.5]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 3)
        self.assertAlmostEqual(result["profile"][0]["y"], 215990)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem2"], 1166)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1166)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548009.5)
        self.assertAlmostEqual(result["profile"][1]["y"], 215996.5)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem2"], 1181)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("9.2"))
        self.assertAlmostEqual(result["profile"][1]["x"], 548003.0)
        self.assertAlmostEqual(result["profile"][2]["y"], 216003.0)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem2"], 1181)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("18.4"))
        self.assertAlmostEqual(result["profile"][2]["x"], 547996.5)

        request.params["layers"] = "dem"
        result = profile.json()
        self.assertEqual(len(result["profile"]), 3)
        self.assertAlmostEqual(result["profile"][0]["y"], 215990)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1166)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548009.5)
        self.assertAlmostEqual(result["profile"][1]["y"], 215996.5)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("9.2"))
        self.assertAlmostEqual(result["profile"][1]["x"], 548003.0)
        self.assertAlmostEqual(result["profile"][2]["y"], 216003.0)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("18.4"))
        self.assertAlmostEqual(result["profile"][2]["x"], 547996.5)

        # test length = 0
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 1)
        self.assertAlmostEqual(result["profile"][0]["y"], 216000)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1169)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548000)

        # test cur_nb_points < 1
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000],[548001,216001],[548009,216009]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 3)
        self.assertAlmostEqual(result["profile"][0]["y"], 216000)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1169)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548000)
        self.assertAlmostEqual(result["profile"][1]["y"], 216003.66666666666)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1155)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("5.2"))
        self.assertEqual(result["profile"][1]["x"], 548003.66666666663)
        self.assertAlmostEqual(result["profile"][2]["y"], 216006.33333333334)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1154)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("9.0"))
        self.assertAlmostEqual(result["profile"][2]["x"], 548006.33333333337)

        # test wrong layer name
        request.params["layers"] = "wrong"
        self.assertRaises(HTTPNotFound, profile.json)
示例#5
0
    def test_profile_json(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {
                    "file": "c2cgeoportal/tests/data/dem.shp",
                    "round": 4
                },
                "dem2": {
                    "file": "c2cgeoportal/tests/data/dem.shp",
                    "round": 4
                }
            }
        }
        profile = Profile(request)

        request.params['nbPoints'] = '3'
        request.params['geom'] = '{"type":"LineString",' \
            '"coordinates":[[548009.5,215990],' \
            '[547990,216009.5]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 215990)
        self.assertAlmostEqual(result['profile'][0]['values']['dem2'], 1166)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1166)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548009.5)
        self.assertAlmostEqual(result['profile'][1]['y'], 215996.5)
        self.assertAlmostEqual(result['profile'][1]['values']['dem2'], 1181)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('9.2'))
        self.assertAlmostEqual(result['profile'][1]['x'], 548003.0)
        self.assertAlmostEqual(result['profile'][2]['y'], 216003.0)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][2]['values']['dem2'], 1181)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('18.4'))
        self.assertAlmostEqual(result['profile'][2]['x'], 547996.5)

        request.params['layers'] = 'dem'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 215990)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1166)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548009.5)
        self.assertAlmostEqual(result['profile'][1]['y'], 215996.5)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('9.2'))
        self.assertAlmostEqual(result['profile'][1]['x'], 548003.0)
        self.assertAlmostEqual(result['profile'][2]['y'], 216003.0)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('18.4'))
        self.assertAlmostEqual(result['profile'][2]['x'], 547996.5)

        # test length = 0
        request.params['geom'] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 1)
        self.assertAlmostEqual(result['profile'][0]['y'], 216000)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1169)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548000)

        # test cur_nb_points < 1
        request.params['geom'] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000],' \
            '[548001,216001],' \
            '[548009,216009]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 216000)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1169)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548000)
        self.assertAlmostEqual(result['profile'][1]['y'], 216003.66666666666)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1155)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('5.2'))
        self.assertEqual(result['profile'][1]['x'], 548003.66666666663)
        self.assertAlmostEqual(result['profile'][2]['y'], 216006.33333333334)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1154)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('9.0'))
        self.assertAlmostEqual(result['profile'][2]['x'], 548006.33333333337)

        # test wrong layer name
        request.params['layers'] = 'wrong'
        self.assertRaises(HTTPNotFound, profile.json)
示例#6
0
    def test_profile_json(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4}
            }
        }
        profile = Profile(request)

        request.params['nbPoints'] = '3'
        request.params['geom'] = '{"type":"LineString",' \
                                  '"coordinates":[[548009.5,215990],' \
                                                 '[547990,216009.5]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 215990)
        self.assertAlmostEqual(result['profile'][0]['values']['dem2'], 1166)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1166)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548009.5)
        self.assertAlmostEqual(result['profile'][1]['y'], 215996.5)
        self.assertAlmostEqual(result['profile'][1]['values']['dem2'], 1181)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('9.2'))
        self.assertAlmostEqual(result['profile'][1]['x'], 548003.0)
        self.assertAlmostEqual(result['profile'][2]['y'], 216003.0)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][2]['values']['dem2'], 1181)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('18.4'))
        self.assertAlmostEqual(result['profile'][2]['x'], 547996.5)

        request.params['layers'] = 'dem'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 215990)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1166)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548009.5)
        self.assertAlmostEqual(result['profile'][1]['y'], 215996.5)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('9.2'))
        self.assertAlmostEqual(result['profile'][1]['x'], 548003.0)
        self.assertAlmostEqual(result['profile'][2]['y'], 216003.0)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1181)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('18.4'))
        self.assertAlmostEqual(result['profile'][2]['x'], 547996.5)

        # test length = 0
        request.params['geom'] = '{"type":"LineString",' \
                                  '"coordinates":[[548000,216000]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 1)
        self.assertAlmostEqual(result['profile'][0]['y'], 216000)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1169)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548000)

        # test cur_nb_points < 1
        request.params['geom'] = '{"type":"LineString",' \
                                  '"coordinates":[[548000,216000],' \
                                                 '[548001,216001],' \
                                                 '[548009,216009]]}'
        result = profile.json()
        self.assertEqual(len(result['profile']), 3)
        self.assertAlmostEqual(result['profile'][0]['y'], 216000)
        self.assertAlmostEqual(result['profile'][0]['values']['dem'], 1169)
        self.assertAlmostEqual(result['profile'][0]['dist'], Decimal('0.0'))
        self.assertAlmostEqual(result['profile'][0]['x'], 548000)
        self.assertAlmostEqual(result['profile'][1]['y'], 216003.66666666666)
        self.assertAlmostEqual(result['profile'][1]['values']['dem'], 1155)
        self.assertAlmostEqual(result['profile'][1]['dist'], Decimal('5.2'))
        self.assertEqual(result['profile'][1]['x'], 548003.66666666663)
        self.assertAlmostEqual(result['profile'][2]['y'], 216006.33333333334)
        self.assertAlmostEqual(result['profile'][2]['values']['dem'], 1154)
        self.assertAlmostEqual(result['profile'][2]['dist'], Decimal('9.0'))
        self.assertAlmostEqual(result['profile'][2]['x'], 548006.33333333337)

        # test wrong layer name
        request.params['layers'] = 'wrong'
        self.assertRaises(HTTPNotFound, profile.json)
示例#7
0
    def test_profile_json(self):
        from decimal import Decimal
        from pyramid.testing import DummyRequest
        from pyramid.httpexceptions import HTTPNotFound
        from c2cgeoportal.views.profile import Profile

        request = DummyRequest()
        request.registry.settings = {
            "raster": {
                "dem": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4},
                "dem2": {"file": "c2cgeoportal/tests/data/dem.shp", "round": 4}
            }
        }
        profile = Profile(request)

        request.params["nbPoints"] = "3"
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548009.5,215990],[547990,216009.5]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 4)
        self.assertAlmostEqual(result["profile"][0]["y"], 215990)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem2"], 1166)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1166)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548009.5)
        self.assertAlmostEqual(result["profile"][1]["y"], 215996.5)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem2"], 1181)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("9.2"))
        self.assertAlmostEqual(result["profile"][1]["x"], 548003.0)
        self.assertAlmostEqual(result["profile"][2]["y"], 216003.0)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem2"], 1181)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("18.4"))
        self.assertAlmostEqual(result["profile"][2]["x"], 547996.5)
        self.assertAlmostEqual(result["profile"][3]["y"], 216009.5)
        self.assertAlmostEqual(result["profile"][3]["values"]["dem"], 1164)
        self.assertAlmostEqual(result["profile"][3]["values"]["dem2"], 1164)
        self.assertAlmostEqual(result["profile"][3]["dist"], Decimal("27.6"))
        self.assertAlmostEqual(result["profile"][3]["x"], 547990.0)

        request.params["layers"] = "dem"
        result = profile.json()
        self.assertEqual(len(result["profile"]), 4)
        self.assertAlmostEqual(result["profile"][0]["y"], 215990)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1166)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548009.5)
        self.assertAlmostEqual(result["profile"][1]["y"], 215996.5)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("9.2"))
        self.assertAlmostEqual(result["profile"][1]["x"], 548003.0)
        self.assertAlmostEqual(result["profile"][2]["y"], 216003.0)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1181)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("18.4"))
        self.assertAlmostEqual(result["profile"][2]["x"], 547996.5)
        self.assertAlmostEqual(result["profile"][3]["y"], 216009.5)
        self.assertAlmostEqual(result["profile"][3]["values"]["dem"], 1164)
        self.assertAlmostEqual(result["profile"][3]["dist"], Decimal("27.6"))
        self.assertAlmostEqual(result["profile"][3]["x"], 547990.0)

        # test length = 0
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 1)
        self.assertAlmostEqual(result["profile"][0]["y"], 216000)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1169)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548000)

        # test cur_nb_points < 1
        request.params["geom"] = '{"type":"LineString",' \
            '"coordinates":[[548000,216000],[548001,216001],[548009,216009]]}'
        result = profile.json()
        self.assertEqual(len(result["profile"]), 5)
        self.assertAlmostEqual(result["profile"][0]["y"], 216000)
        self.assertAlmostEqual(result["profile"][0]["values"]["dem"], 1169)
        self.assertAlmostEqual(result["profile"][0]["dist"], Decimal("0.0"))
        self.assertAlmostEqual(result["profile"][0]["x"], 548000)
        self.assertAlmostEqual(result["profile"][1]["y"], 216001.0)
        self.assertAlmostEqual(result["profile"][1]["values"]["dem"], 1162)
        self.assertAlmostEqual(result["profile"][1]["dist"], Decimal("1.4"))
        self.assertEqual(result["profile"][1]["x"], 548001.0)
        self.assertAlmostEqual(result["profile"][2]["y"], 216003.66666666666)
        self.assertAlmostEqual(result["profile"][2]["values"]["dem"], 1155)
        self.assertAlmostEqual(result["profile"][2]["dist"], Decimal("5.2"))
        self.assertAlmostEqual(result["profile"][2]["x"], 548003.6666666666)
        self.assertAlmostEqual(result["profile"][3]["y"], 216006.33333333334)
        self.assertAlmostEqual(result["profile"][3]["values"]["dem"], 1154)
        self.assertAlmostEqual(result["profile"][3]["dist"], Decimal("9"))
        self.assertAlmostEqual(result["profile"][3]["x"], 548006.3333333334)
        self.assertAlmostEqual(result["profile"][4]["y"], 216009.0)
        self.assertAlmostEqual(result["profile"][4]["values"]["dem"], 1159)
        self.assertAlmostEqual(result["profile"][4]["dist"], Decimal("12.7"))
        self.assertAlmostEqual(result["profile"][4]["x"], 548009.0)

        # test wrong layer name
        request.params["layers"] = "wrong"
        self.assertRaises(HTTPNotFound, profile.json)