Ignore:
Timestamp:
1 Oct 2012, 21:18:48 (12 years ago)
Author:
Henrik Bettermann
Message:

Add AccessCodeProcessor?.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/accesscodes/tests/test_batching.py

    r9263 r9265  
    3636from waeup.kofa.testing import (
    3737    FunctionalLayer, FunctionalTestCase, setUp, tearDown, getRootFolder)
    38 from waeup.kofa.accesscodes.batching import AccessCodeBatchProcessor
     38from waeup.kofa.accesscodes.batching import (
     39    AccessCodeBatchProcessor, AccessCodeProcessor)
    3940
    4041
     
    4445
    4546BATCH_HEADER_FIELDS = BATCH_SAMPLE_DATA.split(
     47    '\n')[0].split(',')
     48
     49AC_SAMPLE_DATA = open(
     50    os.path.join(os.path.dirname(__file__), 'sample_ac_data.csv'),
     51    'rb').read()
     52
     53AC_HEADER_FIELDS = AC_SAMPLE_DATA.split(
    4654    '\n')[0].split(',')
    4755
     
    7381        self.logfile = os.path.join(
    7482            self.app['datacenter'].storage, 'logs', 'accesscodes.log')
     83        self.workdir = tempfile.mkdtemp()
    7584
    7685    def tearDown(self):
     
    8594    def test_import(self):
    8695        self.processor = AccessCodeBatchProcessor()
    87         self.workdir = tempfile.mkdtemp()
    8896        self.csv_file = os.path.join(self.workdir, 'sample_batch_data.csv')
    8997        open(self.csv_file, 'wb').write(BATCH_SAMPLE_DATA)
     
    102110        shutil.rmtree(os.path.dirname(fin_file))
    103111        return
     112
     113class ACProcessorTest(ACFullSetup):
     114
     115    layer = FunctionalLayer
     116
     117    def test_import(self):
     118        self.processor = AccessCodeBatchProcessor()
     119        self.csv_file = os.path.join(self.workdir, 'sample_batch_data.csv')
     120        open(self.csv_file, 'wb').write(BATCH_SAMPLE_DATA)
     121        self.processor.doImport(self.csv_file, BATCH_HEADER_FIELDS)
     122
     123        self.processor = AccessCodeProcessor()
     124        self.csv_file = os.path.join(self.workdir, 'sample_ac_data.csv')
     125        open(self.csv_file, 'wb').write(AC_SAMPLE_DATA)
     126        num, num_warns, fin_file, fail_file =  self.processor.doImport(
     127            self.csv_file, AC_HEADER_FIELDS)
     128        self.assertEqual(num_warns,0)
     129        self.assertEqual(
     130            self.app['accesscodes']['CLR-1']['CLR-1-1625368961'].batch_serial, 33)
     131        self.assertEqual(
     132            self.app['accesscodes']['CLR-1']['CLR-1-1625368961'].random_num, '1625368961')
     133        self.assertEqual(
     134            self.app['accesscodes']['CLR-1']['CLR-1-1625368961'].state, 'used')
     135        logcontent = open(self.logfile).read()
     136        self.assertTrue(
     137            'INFO - system - AccessCode Processor - CLR-1-1625368961 - '
     138            'AC updated: state=used, history=2012-07-11 14:51:56 UTC - '
     139            'initialized by Manager||2012-07-11 14:55:42 UTC - '
     140            'invalidated by Manager, batch_serial=33, '
     141            'random_num=1625368961, cost=100.0, owner=K1000009'
     142            in logcontent)
     143        shutil.rmtree(os.path.dirname(fin_file))
     144        return
Note: See TracChangeset for help on using the changeset viewer.