Ejemplo n.º 1
0
    def attr_mapping(resources):
        options = SearchOptions()
        attribute_match = set()
        range_fields    = set()
        geo_fields      = set()
        for t in resources:
            schema = getattr(interface.objects, t)._schema
            for k,v in schema.iteritems():
                ion_type = v['type']

                if ion_type=='int':
                    range_fields.add(k)
                elif ion_type =='long':
                    range_fields.add(k)
                elif ion_type == 'float':
                    range_fields.add(k)
                elif ion_type == 'str':
                    attribute_match.add(k)
                elif ion_type == 'GeospatialPoint':
                    geo_fields.add(k)
        options.attribute_match = list(attribute_match)
        options.range_fields    = list(range_fields)
        options.geo_fields      = list(geo_fields)

        return options
Ejemplo n.º 2
0
    def attr_mapping(resources):
        options = SearchOptions()
        attribute_match = set()
        range_fields = set()
        geo_fields = set()
        for t in resources:
            schema = getattr(interface.objects, t)._schema
            for k, v in schema.iteritems():
                ion_type = v['type']

                if ion_type == 'int':
                    range_fields.add(k)
                elif ion_type == 'long':
                    range_fields.add(k)
                elif ion_type == 'float':
                    range_fields.add(k)
                elif ion_type == 'str':
                    attribute_match.add(k)
                elif ion_type == 'GeospatialLocation':
                    geo_fields.add(k)
        options.attribute_match = list(attribute_match)
        options.range_fields = list(range_fields)
        options.geo_fields = list(geo_fields)

        return options
    def test_create_elasticsearch_index(self):
        index_name = self.index_name
        ims_cli = self.ims_cli
        rr_cli = self.rr_cli
        options = SearchOptions()
        options.attribute_match = ["test_field"]
        index_id = ims_cli.create_index(
            name=index_name, content_type=IndexManagementService.ELASTICSEARCH_INDEX, options=options
        )

        index_result = self.rr_cli.read(index_id)
        self.assertIsInstance(index_result, ElasticSearchIndex)
        self.assertTrue(index_result.name == index_name)

        # ======================================
        # Clean up
        # ======================================
        rr_cli.delete(index_id)
    def test_create_datastore_index(self):
        index_name = self.index_name
        ims_cli = self.ims_cli
        rr_cli = self.rr_cli
        options = SearchOptions()
        options.attribute_match = ['test_field']
        index_id = ims_cli.create_index(
            name=index_name,
            content_type=IndexManagementService.DATASTORE_INDEX,
            options=options)

        index_result = self.rr_cli.read(index_id)
        self.assertIsInstance(index_result, ElasticSearchIndex)
        self.assertTrue(index_result.name == index_name)

        #======================================
        # Clean up
        #======================================
        rr_cli.delete(index_id)
Ejemplo n.º 5
0
    def test_create_couchdb_index(self):
        index_name = self.index_name
        ims_cli = self.ims_cli
        rr_cli = self.rr_cli
        options = SearchOptions()
        options.attribute_match = ['name']

        index_id = ims_cli.create_index(
            index_name,
            content_type=IndexManagementService.COUCHDB_INDEX,
            options=options,
            datastore_name='fake',
            view_name='fake/by_fake')
        index_result = self.rr_cli.read(index_id)
        self.assertIsInstance(index_result, CouchDBIndex)
        self.assertTrue(index_result.name == index_name)
        #======================================
        # Clean up
        #======================================
        rr_cli.delete(index_id)
    def test_create_couchdb_index(self):
        index_name = self.index_name
        ims_cli = self.ims_cli
        rr_cli = self.rr_cli
        options = SearchOptions()
        options.attribute_match = ["name"]

        index_id = ims_cli.create_index(
            index_name,
            content_type=IndexManagementService.COUCHDB_INDEX,
            options=options,
            datastore_name="fake",
            view_name="fake/by_fake",
        )
        index_result = self.rr_cli.read(index_id)
        self.assertIsInstance(index_result, CouchDBIndex)
        self.assertTrue(index_result.name == index_name)
        # ======================================
        # Clean up
        # ======================================
        rr_cli.delete(index_id)