def test_API_polygon_P11(self):

        print('TEST START')
        store = BoundaryStore()
        store.dropAll()

        for person in self.bds:
            if person['person'] == '11':
                bds = []
                for boundaries in person['boundaries']:
                    data = {}
                    boundary_id = ''
                    for polygon in boundaries:
                        boundary_id = boundary_id + polygon['properties']['id']
                        data[polygon['properties']['id']] = polygon['properties']
                    bds.append({'boundary': boundary_id, 'data': data})
                boundary_dataset = {"id": "persona11", 'boundary_data_set': bds}

                # POST BOUNDARY_DATASETS TEST
                r = requests.post('http://127.0.0.1:8000/bdatasets/', json=boundary_dataset)
                assert r.status_code == 201

        # GET BOUNDARY (POLYGON) TEST
        params = {
            'dlx': '-0.929656',
            'dly': '41.614571',
            'urx': '-0.920650',
            'ury': '41.627084'
        }
        boundaries = ['RP22220716588$)))))7326$))7$))8$)))38$)))42$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$))7$))8$)))61$))2$))3$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))5$))6$))7$))8$))))406$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))43$))4$))6$))7$))8$)))56$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))5$))6$))7$))8$))))563$))4$))6$))7$))8$)))76$))))601$))2$)))10$))1$))2$))3$))4$))5$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))52$))))700$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$)))30$))1$))2$)))40$))))800$))1$))2$))3$))4$)))10$))1$))))))22458$)))82$))5$))8$))))533$))4$))6$))7$))8$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))70$))3$))4$))6$))7$))8$)))86$))))721$))2$))4$))5$))7$))8$)))51$))2$))3$))4$))5$))6$))7$))8$)))78$)))80$))1$))2$))3$))4$))5$))6$))))800$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))3$))4$))5$))6$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$)))50$))1$))2$))3$)))60$))1$))2$)))))4115$))6$))7$))8$)))23$))4$))6$))7$))8$)))31$))2$))4$))5$)))40$))1$))2$))3$))4$))5$))8$)))50$))1$))2$))3$))4$))5$))6$))7$))8$))))230$))3$))6$))7$)))60$))1$))2$)))))))800606$))))))))))))))',
                      'RP22220476527$))8$)))35$))7$))8$)))42$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$))7$))8$)))62$)))70$))1$))2$))3$))4$))5$))8$)))80$))1$))2$))3$))4$))5$))6$))7$))8$))))820$))1$))2$))5$)))))7304$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))26$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))3$))6$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))3$))6$))))600$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))3$))6$)))32$)))40$))1$))2$))4$))5$)))))))708018$)))26$))7$))8$)))51$))2$))))103$))4$))5$))6$))7$))8$)))11$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$)))40$))1$))2$))4$))5$)))50$))1$))2$))3$))4$))5$))))200$))3$))4$))6$))7$)))30$))1$))2$))3$))4$))5$))8$)))43$))6$))))))20014$))5$))8$)))23$))4$))5$))6$))7$))8$)))50$))1$))2$))4$))5$))8$))))103$))4$))6$))7$))8$)))16$))7$))8$)))26$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$))7$))8$)))60$))1$))2$))4$))5$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))6$))))206$))7$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))3$)))60$))))410$))1$))))))))))))))',
                      'RP22220713067$))8$)))76$))7$))8$)))86$))7$))8$))))166$))7$))8$)))76$))7$))8$)))86$))7$))8$))))266$))7$))8$))))302$)))10$))1$))2$))3$))4$))5$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))42$)))50$))1$))2$))4$))5$))8$))))400$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$))7$)))60$))1$))2$))4$))5$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))3$))))500$))1$))3$))6$))))710$))1$))2$)))))4688$))))766$))7$))8$)))74$))5$))6$))7$))8$)))83$))4$))5$))6$))7$))8$))))863$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))3$)))))7100$))1$))2$))5$)))10$))1$))2$))3$))4$))5$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))51$))2$))))200$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))3$)))30$))1$))2$))4$))))))24357$))8$)))82$))))436$))7$)))60$))1$))2$))3$))4$))5$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))5$))6$))7$))8$))))560$))1$))2$))3$))4$))5$))6$))7$))8$)))73$))4$))5$))6$))7$))8$)))83$))4$))5$))6$))7$))8$))))702$)))10$))1$))2$))3$))4$))5$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))42$)))50$))1$))2$))3$))4$))5$))7$))8$)))82$))))800$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$)))60$))1$))2$))3$))4$))5$))7$)))70$))1$))2$))3$)))))5363$))4$))5$))6$))7$))8$)))73$))6$))7$))8$)))86$))))600$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$)))30$))))))))))))))']

        r = requests.get('http://127.0.0.1:8000/boundaries/', params=params)
        assert r.status_code == 200

        num_boundaries = 0
        for boundary in r.json():
            assert boundaries.__contains__(boundary['AUID'])
            num_boundaries = num_boundaries + 1
        assert num_boundaries == len(boundaries)

        store.dropAll()

        print('TEST FINISH')
    def test_API_polygon_P26(self):

        print('TEST START')
        store = BoundaryStore()
        store.dropAll()

        for person in self.bds:
            if person['person'] == '26':
                bds = []
                for boundaries in person['boundaries']:
                    data = {}
                    boundary_id = ''
                    for polygon in boundaries:
                        boundary_id = boundary_id + polygon['properties']['id']
                        data[polygon['properties']['id']] = polygon['properties']
                    bds.append({'boundary': boundary_id, 'data': data})
                boundary_dataset = {"id": "persona26", 'boundary_data_set': bds}

                # POST BOUNDARY_DATASETS TEST
                r = requests.post('http://127.0.0.1:8000/bdatasets/', json=boundary_dataset)
                assert r.status_code == 201

        # GET BOUNDARY (POLYGON) TEST
        params = {
            'dlx': '-0.869159',
            'dly': '41.643394',
            'urx': '-0.863760',
            'ury': '41.654733'
        }
        boundaries = ['RP22220488768$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))83$))4$))6$))7$))8$)))))))722102$)))10$))1$))2$))5$)))20$))1$))2$))3$))4$))5$)))64$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))3$))4$))6$))7$))8$))))200$))1$))3$))4$))5$))6$))7$))8$)))13$))6$))7$))8$)))40$))1$))2$)))50$))1$))3$))4$))5$)))66$))))315$))6$))7$))8$)))21$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$)))50$))1$))2$))))400$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$)))40$))1$))2$))4$))5$)))50$))1$))2$))3$))4$))5$))))500$))1$))3$))4$))5$))6$))7$))8$)))30$))1$)))))4482$))4$))5$))7$))8$))))536$))7$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))73$))4$))6$))7$))8$))))800$))1$))2$))4$))5$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))3$))4$))5$))6$))7$))8$)))42$)))50$))1$)))))5606$)))))))800033$))6$))7$))))))))))))))',
                      'RP22220722576$))7$))8$)))83$))4$))5$))6$))7$))8$))))717$))8$)))24$))5$))6$))7$))8$)))41$))2$)))50$))1$))2$))3$))4$))5$))7$))8$)))82$))))800$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))3$))4$))5$))6$))7$))8$)))60$))1$))2$))3$))4$))5$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))5$))6$))7$)))))5202$)))10$))1$))2$)))))))800360$))1$))2$))3$))4$))5$))6$))7$))8$)))73$))4$))5$))6$))7$))8$)))86$))7$))8$))))600$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))30$))1$))2$))3$))4$))5$))6$))7$))8$)))40$))1$))2$))3$))4$))5$))6$)))50$))1$)))60$))1$))3$))))700$))1$))2$))3$))4$))6$))))))))))))))']
        r = requests.get('http://127.0.0.1:8000/boundaries/', params=params)
        assert r.status_code == 200

        num_boundaries = 0
        for boundary in r.json():
            assert boundaries.__contains__(boundary['AUID'])
            num_boundaries = num_boundaries + 1
        assert num_boundaries == len(boundaries)

        store.dropAll()

        print('TEST FINISH')
    def test_API_polygon_P21(self):

        print('TEST START')
        store = BoundaryStore()
        store.dropAll()

        for person in self.bds:
            if person['person'] == '21':
                bds = []
                for boundaries in person['boundaries']:
                    data = {}
                    boundary_id = ''
                    for polygon in boundaries:
                        boundary_id = boundary_id + polygon['properties']['id']
                        data[polygon['properties']['id']] = polygon['properties']
                    bds.append({'boundary': boundary_id, 'data': data})
                boundary_dataset = {"id": "persona21", 'boundary_data_set': bds}

                # POST BOUNDARY_DATASETS TEST
                r = requests.post('http://127.0.0.1:8000/bdatasets/', json=boundary_dataset)
                assert r.status_code == 201

        # GET BOUNDARY (POLYGON) TEST
        params = {
            'dlx': '-0.90267',
            'dly': '41.64054',
            'urx': '-0.89886',
            'ury': '41.64299'
        }
        boundaries = ['RP22220720638$)))46$))7$))8$)))53$))4$))5$))6$))7$))8$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))1$))2$))3$))4$))5$))6$))7$))8$))))733$))4$))6$))7$))8$)))46$))7$)))60$))1$))2$))3$))4$))5$))6$))7$))8$)))70$))1$))2$))3$))4$))5$))6$))7$))8$)))80$))3$))4$))5$))6$))7$))8$))))866$)))))3001$))2$))5$)))10$))1$))2$))3$))4$))5$))7$))8$)))20$))1$))2$))3$))4$))5$))6$))7$))8$)))50$))1$))2$))5$))))100$))1$))2$))3$))4$))5$))6$))7$))8$)))10$))1$))2$))3$))4$))5$))6$))7$))8$)))20$))1$))2$))3$))4$)))30$))1$))2$))3$))4$))5$))7$))8$)))40$))1$))3$))4$))6$))))))))))))))']

        r = requests.get('http://127.0.0.1:8000/boundaries/', params=params)
        assert r.status_code == 200

        num_boundaries = 0
        for boundary in r.json():
            assert boundaries.__contains__(boundary['AUID'])
            num_boundaries = num_boundaries + 1
        assert num_boundaries == len(boundaries)

        store.dropAll()

        print('TEST FINISH')
    def test_API(self, n_person):

        print('TEST START')
        store = BoundaryStore()
        store.dropAll()

        boundary_dataset_test = {}
        all_bds_test = []
        all_boundaries = []
        boundary_test = []
        test_boundary_id = ''
        number_person = 0
        test_person_number = ''
        for person in self.bds[0:n_person]:
            number_person = number_person + 1
            bds = []
            bds_test = []
            for boundaries in person['boundaries']:
                data = {}
                boundary_id = ''
                for polygon in boundaries:
                    boundary_id = boundary_id + polygon['properties']['id']
                    data[polygon['properties']['id']] = polygon['properties']
                bds.append({'boundary': boundary_id, 'data': data})
                optB = Boundary(boundary_ID=BoundaryID(boundary_id)).optimize()
                bds_test.append({'AUID': optB.boundary_ID.value, 'boundary': optB.AUID_to_CUIDs(), 'data': data})
                all_boundaries.append({'AUID': optB.boundary_ID.value, 'boundary': optB.AUID_to_CUIDs(), 'data': data})
                test_boundary_id = boundary_id
                boundary_test = [{'AUID': optB.boundary_ID.value, 'boundary': optB.AUID_to_CUIDs(), 'data': data}]
            boundary_dataset = {"id": "persona" + str(number_person), 'boundary_data_set': bds}
            test_person_number = "persona" + str(number_person)
            boundary_dataset_test = {"id": "persona" + str(number_person), 'boundary_data_set': bds_test}
            all_bds_test.append(boundary_dataset_test)

            # POST BOUNDARY_DATASETS TEST
            r = requests.post('http://127.0.0.1:8000/bdatasets/', json=boundary_dataset)
            assert r.status_code == 201

        # GET ALL BOUNDARY_DATASETS TEST
        r = requests.get('http://127.0.0.1:8000/bdatasets/')
        assert r.status_code == 200
        json_test = json.dumps(all_bds_test)
        json_data = json.dumps(r.json())
        assert json_test == json_data

        # GET BOUNDARY_DATASET TEST
        r = requests.get('http://127.0.0.1:8000/bdatasets/' + test_person_number)
        assert r.status_code == 200
        json_test = json.dumps([boundary_dataset_test])
        json_data = json.dumps(r.json())
        assert json_test == json_data

        # GET BOUNDARY IN BOUNDARY_DATASET TEST
        r = requests.get('http://127.0.0.1:8000/bdatasets/' + test_person_number + "/" + test_boundary_id)
        assert r.status_code == 200
        boundary_in_boundary_dataset = {"id": test_person_number, 'boundary_data_set': boundary_test}
        json_test = json.dumps([boundary_in_boundary_dataset])
        json_data = json.dumps(r.json())
        assert json_test == json_data

        # GET ALL BOUNDARIES TEST
        r = requests.get('http://127.0.0.1:8000/boundaries/')
        assert r.status_code == 200
        json_test = json.dumps(all_boundaries)
        json_data = json.dumps(r.json())
        assert json_test == json_data

        # GET BOUNDARY TEST
        r = requests.get('http://127.0.0.1:8000/boundaries/' + test_boundary_id)
        assert r.status_code == 200
        json_test = json.dumps(boundary_test)
        json_data = json.dumps(r.json())
        assert json_test == json_data

        # DELETE BOUNDARY TEST
        r = requests.delete('http://127.0.0.1:8000/boundaries/' + test_boundary_id)
        assert r.status_code == 204

        r = requests.get('http://127.0.0.1:8000/boundaries/')
        assert r.status_code == 200
        all_boundaries.pop()
        json_test = json.dumps(all_boundaries)
        json_data = json.dumps(r.json())
        assert json_test == json_data

        store.dropAll()

        print('TEST FINISH')
Exemple #5
0
    def test_API_polygon_11(self):

        print('TEST START')
        store = BoundaryStore(MongoClient(port=27017).bds)
        store.dropAll()

        i = 0
        data = {}
        bds = []
        boundary_id = ''

        for polygon in self.shapes:
            if i != 0:
                bds.append({'boundary': boundary_id, 'data': data})
                optB = Boundary(boundary_ID=BoundaryID(boundary_id)).optimize()
                data = {}
                boundary_id = ''
            boundary_id = boundary_id + polygon['properties']['id']
            data[polygon['properties']['id']] = polygon['properties']
            i = i + 1
        boundary_dataset = {'boundary_data_set': bds}

        # POST BOUNDARY_DATASETS TEST
        r = requests.post('http://127.0.0.1:8000/bdatasets/',
                          json=boundary_dataset)
        assert r.status_code == 201

        # GET BOUNDARY (POLYGON) TEST
        params = {
            'dlx': '-0.903563',
            'dly': '41.644185',
            'urx': '-0.902558',
            'ury': '41.644762'
        }
        cells = [
            Boundary(boundary_ID=BoundaryID(
                'P22220720640')).optimize().boundary_ID.value,
            Boundary(boundary_ID=BoundaryID(
                'P22220720641')).optimize().boundary_ID.value,
            Boundary(boundary_ID=BoundaryID(
                'P22220720642')).optimize().boundary_ID.value,
            Boundary(boundary_ID=BoundaryID(
                'P22220720643')).optimize().boundary_ID.value,
            Boundary(boundary_ID=BoundaryID(
                'P22220720644')).optimize().boundary_ID.value,
            Boundary(boundary_ID=BoundaryID(
                'P22220720645')).optimize().boundary_ID.value
        ]

        r = requests.get('http://127.0.0.1:8000/boundaries/', params=params)
        assert r.status_code == 200

        num_cells = 0
        for boundary in r.json():
            assert cells.__contains__(boundary['AUID'])
            num_cells = num_cells + 1
        assert num_cells == len(cells)

        store.dropAll()

        print('TEST FINISH')
Exemple #6
0
    def test_API(self):

        print('TEST START')
        store = BoundaryStore(MongoClient(port=27017).bds)
        store.dropAll()

        i = 0
        data = {}
        bds = []
        boundary_id = ''
        bds_test = []
        boundary_test = []
        test_boundary_id = ''

        for polygon in self.shapes:
            if i % 10 == 0 and i != 0:
                bds.append({'boundary': boundary_id, 'data': data})
                optB = Boundary(boundary_ID=BoundaryID(boundary_id)).optimize()
                bds_test.append({
                    'AUID': optB.boundary_ID.value,
                    'boundary': optB.AUID_to_CUIDs(),
                    'data': data
                })
                test_boundary_id = boundary_id
                boundary_test = [{
                    'AUID': optB.boundary_ID.value,
                    'boundary': optB.AUID_to_CUIDs(),
                    'data': data
                }]
                data = {}
                boundary_id = ''
            boundary_id = boundary_id + polygon['properties']['id']
            data[polygon['properties']['id']] = polygon['properties']
            i = i + 1
        boundary_dataset = {'boundary_data_set': bds}
        boundary_dataset_test = {'boundary_data_set': bds_test}

        # POST BOUNDARY_DATASETS TEST
        r = requests.post('http://127.0.0.1:8000/bdatasets/',
                          json=boundary_dataset)
        assert r.status_code == 201

        # GET ALL BOUNDARY_DATASETS TEST
        r = requests.get('http://127.0.0.1:8000/bdatasets/')
        json_test = json.dumps([boundary_dataset_test])
        json_data = json.dumps(r.json())
        assert r.status_code == 200
        assert json_test == json_data

        # GET BOUNDARY IN BOUNDARY_DATASET TEST
        r = requests.get('http://127.0.0.1:8000/bdatasets/' + test_boundary_id)
        json_test = json.dumps([boundary_dataset_test])
        json_data = json.dumps(r.json())
        assert r.status_code == 200
        assert json_test == json_data

        # GET ALL BOUNDARIES TEST
        r = requests.get('http://127.0.0.1:8000/boundaries/')
        json_test = json.dumps(bds_test)
        json_data = json.dumps(r.json())
        assert r.status_code == 200
        assert json_test == json_data

        # GET BOUNDARY TEST
        r = requests.get('http://127.0.0.1:8000/boundaries/' +
                         test_boundary_id)
        json_test = json.dumps(boundary_test)
        json_data = json.dumps(r.json())
        assert r.status_code == 200
        assert json_test == json_data

        # DELETE BOUNDARY TEST
        r = requests.delete('http://127.0.0.1:8000/boundaries/' +
                            test_boundary_id)
        assert r.status_code == 204

        r = requests.get('http://127.0.0.1:8000/boundaries/')
        bds_test.pop()
        json_test = json.dumps(bds_test)
        json_data = json.dumps(r.json())
        assert r.status_code == 200
        assert json_test == json_data

        store.dropAll()

        print('TEST FINISH')