Esempio n. 1
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.')
Esempio n. 4
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_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. 8
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. 9
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. 10
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)