def import_csv(filenames):
    for filename in filenames:
        if not os.access(filename, os.R_OK):
            raise CommandError('CSV file could not be read')

    importer = AddressBaseBasicImporter()
    importer.import_csv(list(filenames))
class AddressBaseBasicImporterTest(django.test.TransactionTestCase):
    def setUp(self):
        self.importer = AddressBaseBasicImporter()
        self.sample_data = join(dirname(__file__),
                                '../sample_data/addressbase_basic_sample.csv')

    def tearDown(self):
        Address.objects.all().delete()

    def test_import(self):
        self.importer.import_csv(self.sample_data)
        self.assertEqual(5, Address.objects.count())

    def test_imported_address_has_correct_attributes(self):
        self.test_import()

        address = Address.objects.filter(uprn='320012010').first()
        self.assertEqual('KY1 2HS', address.postcode)
        self.assertEqual('ky12hs', address.postcode_index)
        self.assertEqual('ky1', address.postcode_area)
        self.assertEqual(50, address.building_number)
        self.assertEqual('osgb1000002280373585', address.os_address_toid)
        self.assertEqual('BEATTY CRESCENT', address.thoroughfare_name)
        self.assertEqual('KIRKCALDY', address.post_town)
        self.assertEqual('50 Beatty Crescent\nKirkcaldy\nKY1 2HS',
                         address.formatted_address)
        lon, lat = address.point.coords
        self.assertAlmostEqual(56.1277805, lat)
        self.assertAlmostEqual(-3.148169, lon)

    def test_that_running_import_twice_on_same_data_produces_same_result(self):
        self.test_import()
        self.test_import()

    def test_that_running_import_replaces_any_existing_data(self):
        dummy_date = time.strftime("%Y-%m-%d")
        Address.objects.create(postcode_index='abcdef',
                               point=Point(123, 123),
                               rpc=012345,
                               uprn=1234567890,
                               start_date=dummy_date,
                               last_update_date=dummy_date,
                               entry_date=dummy_date,
                               process_date=dummy_date)
        self.test_import()
        self.assertEqual(None, Address.objects.filter(uprn=1234567890).first())
class AddressBaseBasicImporterTest(django.test.TransactionTestCase):
    def setUp(self):
        self.importer = AddressBaseBasicImporter()
        self.sample_data = join(dirname(__file__), "../sample_data/addressbase_basic_sample.csv")

    def tearDown(self):
        Address.objects.all().delete()

    def test_import(self):
        self.importer.import_csv(self.sample_data)
        self.assertEqual(5, Address.objects.count())

    def test_imported_address_has_correct_attributes(self):
        self.test_import()

        address = Address.objects.filter(uprn="320012010").first()
        self.assertEqual("KY1 2HS", address.postcode)
        self.assertEqual("ky12hs", address.postcode_index)
        self.assertEqual("ky1", address.postcode_area)
        self.assertEqual(50, address.building_number)
        self.assertEqual("osgb1000002280373585", address.os_address_toid)
        self.assertEqual("BEATTY CRESCENT", address.thoroughfare_name)
        self.assertEqual("KIRKCALDY", address.post_town)
        self.assertEqual("50 Beatty Crescent\nKirkcaldy\nKY1 2HS", address.formatted_address)
        lon, lat = address.point.coords
        self.assertAlmostEqual(56.1277805, lat)
        self.assertAlmostEqual(-3.148169, lon)

    def test_that_running_import_twice_on_same_data_produces_same_result(self):
        self.test_import()
        self.test_import()

    def test_that_running_import_replaces_any_existing_data(self):
        dummy_date = time.strftime("%Y-%m-%d")
        Address.objects.create(
            postcode_index="abcdef",
            point=Point(123, 123),
            rpc=012345,
            uprn=1234567890,
            start_date=dummy_date,
            last_update_date=dummy_date,
            entry_date=dummy_date,
            process_date=dummy_date,
        )
        self.test_import()
        self.assertEqual(None, Address.objects.filter(uprn=1234567890).first())
Beispiel #4
0
    def setUp(self):
        self.user = User()
        self.user.save()
        token = Token.objects.create(user=self.user)
        token.save()
        self.valid_token = 'Token ' + str(self.user.auth_token)

        AddressBaseBasicImporter().import_csv(
            self._sample_data_file('addressbase_basic_barnet_sample.csv'))
        PostcodeGssCodeImporter().import_postcode_gss_codes(
            self._sample_data_file('NSPL_barnet_sample.csv'))
        LocalAuthoritiesImporter().import_local_authorities(
            self._sample_data_file('local_authorities_sample.nt'))
class AddressBaseBasicImporterTest(django.test.TransactionTestCase):

    def setUp(self):
        self.importer = AddressBaseBasicImporter()
        self.sample_data = join(
            dirname(__file__),
            '../sample_data/addressbase_basic_sample.csv')

    def tearDown(self):
        Address.objects.all().delete()

    def test_import(self):
        self.importer.import_csv(self.sample_data)
        self.assertEqual(5, Address.objects.count())

    def test_updates_no_duplicates(self):
        self.test_import()
        self.test_import()

    def test_imported_address_has_correct_attributes(self):
        self.test_import()

        address = Address.objects.filter(uprn='320012010').first()
        self.assertEqual('KY1 2HS', address.postcode)
        self.assertEqual('ky12hs', address.postcode_index)
        self.assertEqual('ky1', address.postcode_area)
        self.assertEqual(50, address.building_number)
        self.assertEqual('osgb1000002280373585', address.os_address_toid)
        self.assertEqual('BEATTY CRESCENT', address.thoroughfare_name)
        self.assertEqual('KIRKCALDY', address.post_town)
        self.assertEqual(
            '50 Beatty Crescent\nKirkcaldy\nKY1 2HS',
            address.formatted_address)
        lon, lat = address.point.coords
        self.assertAlmostEqual(56.1277805, lat)
        self.assertAlmostEqual(-3.148169, lon)
class AddressBaseBasicImporterTest(django.test.TransactionTestCase):

    def setUp(self):
        self.importer = AddressBaseBasicImporter()
        self.sample_data = join(
            dirname(__file__),
            '../sample_data/addressbase_basic_sample.csv')

    def tearDown(self):
        Address.objects.all().delete()

    def test_import(self):
        self.importer.import_csv(self.sample_data)
        self.assertEqual(5, Address.objects.count())

    def test_updates_no_duplicates(self):
        self.test_import()
        self.test_import()

    def test_imported_address_has_correct_attributes(self):
        self.test_import()

        address = Address.objects.filter(uprn='320012010').first()
        self.assertEqual('KY1 2HS', address.postcode)
        self.assertEqual('ky12hs', address.postcode_index)
        self.assertEqual('ky1', address.postcode_area)
        self.assertEqual(50, address.building_number)
        self.assertEqual('osgb1000002280373585', address.os_address_toid)
        self.assertEqual('BEATTY CRESCENT', address.thoroughfare_name)
        self.assertEqual('KIRKCALDY', address.post_town)
        self.assertEqual(
            '50 Beatty Crescent\nKirkcaldy\nKY1 2HS',
            address.formatted_address)
        lon, lat = address.point.coords
        self.assertAlmostEqual(56.1277867963, lat)
        self.assertAlmostEqual(-3.1481671533, lon)
 def _import_data_from(self, file):
     return AddressBaseBasicImporter().import_csv(
         self._sample_data_file(file))
 def _import(self, downloaded_files):
     importer = AddressBaseBasicImporter()
     importer.import_csv(downloaded_files)
 def setUp(self):
     self.importer = AddressBaseBasicImporter()
     self.sample_data = join(dirname(__file__),
                             '../sample_data/addressbase_basic_sample.csv')
 def setUp(self):
     self.importer = AddressBaseBasicImporter()
     self.sample_data = join(dirname(__file__), "../sample_data/addressbase_basic_sample.csv")