コード例 #1
0
ファイル: tasks.py プロジェクト: lizardsystem/lizard-portal
def prepare_configurations_as_task(taskname, levelno=20, username=None):
    """Prepare the configurations for validation.

    This task has the same functionality as function ``prepare_configurations``
    """
    logger = logging.getLogger(taskname)

    logger.info('Start the preparations of configurations')

    config_store = ConfigurationStore()
    config_store.logger = logger
    config_store.supply()

    logger.info('END PREPARATION')
コード例 #2
0
 def setUp(self):
     self.db = MockDatabase()
     area = self.db.Area()
     area.ident = '3201'
     area.save()
     data_set = self.db.DataSet()
     data_set.name = 'Waternet'
     data_set.save()
     self.store = ConfigurationStore()
     self.store.db = self.db
     self.store.extract = Mock()
     self.store.delete = Mock()
     self.store.retrieve_zip_names = lambda: ['waterbalans_Waternet_04042012_081400.zip']
     self.store.retrieve_attrs_from_config = lambda dir_name, config_type: [{'area_code': '3201'}]
コード例 #3
0
class ConfigurationStoreTestSuite(TestCase):

    def setUp(self):
        self.db = MockDatabase()
        area = self.db.Area()
        area.ident = '3201'
        area.save()
        data_set = self.db.DataSet()
        data_set.name = 'Waternet'
        data_set.save()
        self.store = ConfigurationStore()
        self.store.db = self.db
        self.store.extract = Mock()
        self.store.delete = Mock()
        self.store.retrieve_zip_names = lambda: ['waterbalans_Waternet_04042012_081400.zip']
        self.store.retrieve_attrs_from_config = lambda dir_name, config_type: [{'area_code': '3201'}]

    def get_file_path(self, zip_name):
        return os.path.join(settings.DBF_ROOT, zip_name)

    def test_a(self):
        """Test the creation of a single ConfigurationToValidate."""
        self.store.supply()
        self.assertEqual(1, self.db.configurations.count())

    def test_b(self):
        """Test the file path of the new ConfigurationToValidate is correct.

        The zip name does not contain a path.

        """
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual(
            self.get_file_path('waterbalans_Waternet_04042012_081400'),
            config.file_path)

    def test_c(self):
        """Test the file path of the new ConfigurationToValidate is correct.

        The zip name contains a path.

        """
        self.store.retrieve_zip_names = lambda: ['/mnt/vss-shared/te-valideren-configuraties/waterbalans_Waternet_04042012_081400.zip']
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual(
            self.get_file_path('waterbalans_Waternet_04042012_081400'),
            config.file_path)

    def test_d(self):
        """Test the area of the new ConfigurationToValidate is correct."""
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual(self.db.areas.all()[0], config.area)

    def test_e(self):
        """Test the config type of
        the new ConfigurationToValidate is correct.
        """
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual('waterbalans', config.config_type)

    def test_f(self):
        """Test the water manager of
        the new ConfigurationToValidate is correct.
        """
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual('Waternet', config.data_set.name)

    def test_g(self):
        """Test the action of the new ConfigurationToValidate is correct."""
        self.store.supply()
        config = self.db.configurations.all()[0]
        self.assertEqual(ConfigurationToValidate.KEEP, config.action)

    def test_h(self):
        """Test retrieve_attrs_from_config is called correctly."""
        self.store.retrieve_attrs_from_config = Mock(
            return_value=self.store.retrieve_attrs_from_config(
                "don't care", "don't care"))
        self.store.supply()
        args, kwargs = self.store.retrieve_attrs_from_config.call_args
        self.assertEqual(
            self.get_file_path('waterbalans_Waternet_04042012_081400'),
            args[0])
        self.assertEqual('waterbalans', args[1])

    def test_i(self):
        """Test the zip file is deleted as soon as it has been handled."""
        self.store.supply()
        args, kwargs = self.store.delete.call_args
        self.assertEqual('waterbalans_Waternet_04042012_081400.zip', args[0])

    def test_j(self):
        """Test a zip file that is named incorrectly, is skipped."""
        self.store.retrieve_zip_names = lambda: ['incorrectly named.zip']
        self.store.supply()
        self.assertFalse(self.store.extract.called)