Esempio n. 1
0
 def test_converts_shapefile_column(self):
     spec = Mock()
     spec.start_line = 0
     spec.header_lines = []
     fstor = Mock(DelayedOpen)
     source = ShapefileSource(spec, fstor)
     expected_column = {'name': 'name1', 'type': 'int'}
     self.assertEqual(source._convert_column((u('name1'), 'int:3')),
                      expected_column)
 def test_converts_shapefile_column(self):
     spec = Mock()
     spec.start_line = 0
     spec.header_lines = []
     fstor = Mock(DelayedOpen)
     source = ShapefileSource(spec, fstor)
     expected_column = {'name': 'name1', 'type': 'int'}
     self.assertEqual(
         source._convert_column((u('name1'), 'int:3')),
         expected_column)
Esempio n. 3
0
 def test_reads_layer_specified_by_segment(self, fake_open, fake_shape,
                                           fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     spec = SourceSpec('http://example.com', segment=5)
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(fake_open.call_args_list[0][1]['layer'], 5,
                      'open function was called with wrong layer.')
 def test_populates_columns_of_the_spec(self, fake_open, fake_get, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(len(source.spec.columns), 1)
     self.assertEqual(source.spec.columns[0].name, 'col1')
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
 def test_reads_layer_specified_by_segment(self, fake_open, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     spec = SourceSpec('http://example.com', segment=5)
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(
         fake_open.call_args_list[0][1]['layer'],
         5,
         'open function was called with wrong layer.')
 def test_converts_given_columns(self):
     spec = Mock()
     spec.start_line = 0
     spec.header_lines = []
     fstor = Mock(spec=DelayedOpen)
     source = ShapefileSource(spec, fstor)
     column1 = ('name1', 'int:10')
     column2 = ('name2', 'str:10')
     converted_column1 = {'name': 'name1', 'type': 'int'}
     converted_column2 = {'name': 'name2', 'type': 'str'}
     shapefile_columns = OrderedDict([column1, column2])
     ret = source._get_columns(shapefile_columns)
     self.assertIn(converted_column1, ret)
     self.assertIn(converted_column2, ret)
Esempio n. 7
0
 def test_converts_given_columns(self):
     spec = Mock()
     spec.start_line = 0
     spec.header_lines = []
     fstor = Mock(spec=DelayedOpen)
     source = ShapefileSource(spec, fstor)
     column1 = ('name1', 'int:10')
     column2 = ('name2', 'str:10')
     converted_column1 = {'name': 'name1', 'type': 'int'}
     converted_column2 = {'name': 'name2', 'type': 'str'}
     shapefile_columns = OrderedDict([column1, column2])
     ret = source._get_columns(shapefile_columns)
     self.assertIn(converted_column1, ret)
     self.assertIn(converted_column2, ret)
Esempio n. 8
0
 def test_populates_columns_of_the_spec(self, fake_open, fake_get,
                                        fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(len(source.spec.columns), 1)
     self.assertEqual(source.spec.columns[0].name, 'col1')
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
    def test_extends_with_id_and_geometry(self):
        spec = Mock()
        spec.start_line = 0
        spec.header_lines = []
        fstor = Mock(spec=DelayedOpen)
        source = ShapefileSource(spec, fstor)
        shapefile_columns = OrderedDict()
        ret = source._get_columns(shapefile_columns)
        self.assertEqual(len(ret), 2)
        names = [x['name'] for x in ret]
        self.assertIn('id', names)
        self.assertIn('geometry', names)

        types = [x['type'] for x in ret]
        self.assertIn('geometry_type', types)
 def test_last_element_in_the_row_is_wkt(self, fake_open, fake_get, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_shape.expects_call().is_a_stub()
     fake_dumps.return_value = 'I AM FAKE WKT'
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     row_gen = source._get_row_gen()
     first_row = next(row_gen)
     self.assertEqual(first_row[-1], 'I AM FAKE WKT')
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
 def test_saves_header(self, fake_open, fake_get, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_get.return_value = [
         {'name': 'id', 'type': 'int'},
         {'name': 'col1', 'type': 'int'},
         {'name': 'geometry', 'type': 'geometry_type'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(source._headers, ['id', 'col1', 'geometry'])
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
 def test_converts_row_id_to_integer(self, fake_open, fake_get, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_shape.expects_call().is_a_stub()
     fake_dumps.expects_call().is_a_stub()
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     row_gen = source._get_row_gen()
     first_row = next(row_gen)
     self.assertEqual(first_row[0], 0)
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
Esempio n. 13
0
    def test_extends_with_id_and_geometry(self):
        spec = Mock()
        spec.start_line = 0
        spec.header_lines = []
        fstor = Mock(spec=DelayedOpen)
        source = ShapefileSource(spec, fstor)
        shapefile_columns = OrderedDict()
        ret = source._get_columns(shapefile_columns)
        self.assertEqual(len(ret), 2)
        names = [x['name'] for x in ret]
        self.assertIn('id', names)
        self.assertIn('geometry', names)

        types = [x['type'] for x in ret]
        self.assertIn('geometry_type', types)
Esempio n. 14
0
 def test_last_element_in_the_row_is_wkt(self, fake_open, fake_get,
                                         fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_shape.expects_call().is_a_stub()
     fake_dumps.return_value = 'I AM FAKE WKT'
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     row_gen = source._get_row_gen()
     first_row = next(row_gen)
     self.assertEqual(first_row[-1], 'I AM FAKE WKT')
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
Esempio n. 15
0
 def test_converts_row_id_to_integer(self, fake_open, fake_get, fake_shape,
                                     fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_shape.expects_call().is_a_stub()
     fake_dumps.expects_call().is_a_stub()
     fake_get.return_value = [{'name': 'col1', 'type': 'int'}]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     row_gen = source._get_row_gen()
     first_row = next(row_gen)
     self.assertEqual(first_row[0], 0)
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)
Esempio n. 16
0
 def test_saves_header(self, fake_open, fake_get, fake_shape, fake_dumps):
     fake_collection = self._get_fake_collection()
     fake_open.return_value = fake_collection
     fake_get.return_value = [{
         'name': 'id',
         'type': 'int'
     }, {
         'name': 'col1',
         'type': 'int'
     }, {
         'name': 'geometry',
         'type': 'geometry_type'
     }]
     spec = SourceSpec('http://example.com')
     fstor = Mock(spec=DelayedOpen)
     fstor._fs = Mock()
     source = ShapefileSource(spec, fstor)
     next(source._get_row_gen())
     self.assertEqual(source._headers, ['id', 'col1', 'geometry'])
     self.assertEqual(len(fake_open.mock_calls), 1)
     self.assertEqual(len(fake_get.mock_calls), 2)