Пример #1
0
    def test_(self):

        # test that a new object is added into of store with the correct userobjid

        expected_result = 'Stan.Math.Tuesday.830-910'

        datamembers = {
            'student': 'Nathaniel',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'academic',
            'dow': 'Tuesday'
        }
        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        self.assertEqual(
            self.of.object_get('lesson',
                               datamembers['userobjid']).session.name,
            expected_result)
Пример #2
0
    def test_add_dow(self):

        expected_result = [[u'Monday', u'MO', u'1'], [u'Tuesday', u'TU', u'2'],
                           [u'Thursday', u'TH', u'3'],
                           [u'Wednesday', u'WE',
                            u'4'], [u'Friday', u'FR', u'5'],
                           [u'XX', u'Foobarday', u'6']]

        objtype = 'dow'
        datamembers = {'name': 'XX', 'code': 'Foobarday'}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, "dow",
                                      ['name', 'code', 'enum'])

        self.assertEqual(rows, expected_result)
Пример #3
0
    def test_add_subject_object(self):

        expected_result = [[
            'code', 'name', 'enum', 'objtype', 'id', 'userobjid'
        ], [u'Game Period', u'Game Period', 0, 'subject', u'Game Period'],
                           ['CYCL', 'Cycling', 38, 'subject', 'Cycling']]

        objtype = 'subject'
        datamembers = {'name': 'Cycling', 'code': 'CYCL'}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        result, _ = ssviewer_utils.dataset_list(
            self.of,
            self.enums,
            'subject',
            pagelen=30,
            pagenum=1,
            constraints=[],
            columns=['code', 'name', 'enum', 'objtype', 'userobjid'])

        self.assertListEqual(result, expected_result)
Пример #4
0
    def test_dupe(self):

        expected_result = [['', u'MO', u'TU'], [u'830-910', [], [('Math', )]],
                           [u'1030-1110', [(u'Game Period', )], []]]

        datamembers = {
            'student': 'Clayton',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'subject',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        newobj = ssviewer_utils.dataset_add(**args)

        with self.assertRaises(Exception):
            newobj = ssviewer_utils.dataset_add(**args)
Пример #5
0
    def test_internal_dict(self):

        # test that the internal datamembers/dm dict has the correct keys by asserting correct values
        # and comparing keys vs a recovered record

        expected_result = {
            'status': 'master',
            'prep': 5,
            'recordtype': 'subject',
            'period': '830-910',
            'substatus': 'complete',
            'source': 'manual',
            'session': 'Stan.Math.Tuesday.830-910',
            'adult': 'Stan',
            'student': 'Nathaniel',
            'objtype': 'lesson',
            'dow': u'TU',
            'userobjid': '1.2.1.2.4',
            'subject': 'Math'
        }

        datamembers = {
            'student': 'Nathaniel',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'subject',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        obj_recovered = self.of.query('lesson')[0].dm.keys()
        obj_add = self.of.query('lesson')[1].dm.keys()

        obj_recovered.sort()
        obj_add.sort()

        # test keys
        self.assertListEqual(obj_recovered, obj_add)

        obj = self.of.object_get('lesson', datamembers['userobjid'])

        obj.dm.pop("id")

        # test values
        self.assertEqual(obj.dm, expected_result)
Пример #6
0
    def test_update_add(self):

        # check that a record can be updated after it has been added
        expected_results = [['status', 'substatus', 'recordtype', 'period', 'dow', 'source', 'session', 'adult', 'student', 'id', 'objtype', 'prep', 'userobjid', 'subject'], 
                            [u'master', u'complete', u'academic', u'1030-1110', u'MO', u'dbinsert', u'Dylan.Game Period.Monday.1030-1110', u'Dylan', u'Clayton', 'lesson', 5, u'4.1.2.37.37', u'Game Period'], 
                            ['master', 'complete', 'academic', '1030-1110', u'TU', 'manual', 'Stan.Math.Tuesday.830-910', 'Stan', 'Nathaniel', 'lesson', 5, '1.2.1.2.4', 'Math']]

        datamembers = {'student':'Nathaniel',
                       'teacher':'Stan',
                       'subject':'Math',
                       'period':'830-910',
                       'recordtype':'academic',
                       'dow':'Tuesday'}

        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    datamembers=datamembers,keepversion=True)

        obj = ssviewer_utils.dataset_add(**args)

        obj.keepversion=True
        obj.customtimestamp = "%y%m%d_%H%M%S"
        newid = obj.update(self.of,'period','1030-1110',self.dbname)

        grid,colnames = ssviewer_utils.dataset_list(self.of,self.enums,columns=['status', 'substatus', 'recordtype', 'period', 'dow', 'source', 'session', 'adult', 'student', 'objtype', 'prep', 'userobjid', 'subject'])

        self.assertListEqual(grid,expected_results)

        # tests whats in the database
        expected_results = [[u'Dylan', u'Clayton', u'1030-1110', u'MO', u'Game Period', u'academic', u'current', u'master', u'complete', u'dbinsert'], 
                            [u'Stan', u'Nathaniel', u'830-910', u'TU', u'Math', u'academic', u'version', u'master', u'complete', u'manual'], 
                            [u'Stan', u'Nathaniel', u'1030-1110', u'TU', u'Math', u'academic', u'current', u'master', u'complete', u'manual']]
        with self.database:
            _,rows,_ = tbl_rows_get(self.database,'lesson',['teacher','student','period','dow','subject','recordtype','__version','status','substatus','source'])

        self.assertListEqual(rows,expected_results)
Пример #7
0
 def test_add_period_db(self):
     
     expected_result = [[u'330-400']]
     
     objtype = 'period'
     datamembers = {'name':'330-400','code':'330'}
     
     args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                 objtype=objtype,datamembers=datamembers)
 
     ssviewer_utils.dataset_add(**args)
     
     with self.database:
         _,rows,_ = tbl_rows_get(self.database,"period",['name'],[["name","=","\"330-400\""]])
 
     self.assertEqual(rows,expected_result)
Пример #8
0
    def test_add_period_object(self):

        expected_result = [[u'330-400']]

        objtype = 'period'
        datamembers = {'name': '330-400', 'code': '330'}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        newobj = ssviewer_utils.dataset_add(**args)

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, "period", ['name'],
                                      [["name", "=", "\"330-400\""]])

        self.assertEqual(rows, expected_result)

        expected_result = {
            'code': '330',
            'name': '330-400',
            'enum': 11,
            'objtype': 'period',
            'userobjid': '330-400'
        }

        newobj.dm.pop('id')

        #print newobj.dm,expected_result
        self.assertEqual(newobj.dm, expected_result)
Пример #9
0
    def test_pivot(self):

        expected_result = [['', u'MO', u'TU'],
                           [u'1030-1110', [(u'Game Period', )], []],
                           ['830-910', [], [('Math', )]]]

        datamembers = {
            'student': 'Clayton',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'subject',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        newobj = ssviewer_utils.dataset_add(**args)

        args = dict(of=self.of,
                    enums=self.enums,
                    yaxis_type='dow',
                    xaxis_type='period',
                    source_type='student',
                    source_value='Clayton',
                    ztypes=['subject'])

        result = ssviewer_utils.dataset_pivot(**args)

        self.assertListEqual(result, expected_result)
Пример #10
0
    def test_db(self):

        expected_result = [[
            u'Dylan', u'Clayton', u'1030-1110', u'MO', u'Game Period',
            u'academic'
        ], [u'Stan', u'Nathaniel', u'830-910', u'TU', u'Math', u'academic']]

        datamembers = {
            'student': 'Nathaniel',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'academic',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        obj = ssviewer_utils.dataset_add(**args)
        obj.keepversion = True
        obj.customtimestamp = "%y%m%d_%H%M%S"

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, 'lesson', [
                'teacher', 'student', 'period', 'dow', 'subject', 'recordtype'
            ])

        self.assertListEqual(expected_result, rows)
Пример #11
0
 def test_pivot(self):
     
     expected_result = [['', u'MO', u'TU'], [u'1030-1110', [(u'Game Period',)], []], ['830-910', [], [('Math',)]]]
     
     datamembers = {'student':'Clayton',
                    'teacher':'Stan',
                    'subject':'Math',
                    'period':'830-910',
                    'recordtype':'subject',
                    'dow':'Tuesday'}
     
     args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                 datamembers=datamembers)
 
     newobj = ssviewer_utils.dataset_add(**args)
     
     
     args = dict(of=self.of,enums=self.enums,
                 yaxis_type='dow',xaxis_type='period',
                 source_type='student',source_value='Clayton',
                 ztypes=['subject'])
                 
     result = ssviewer_utils.dataset_pivot(**args)
             
     self.assertListEqual(result,expected_result)
Пример #12
0
    def test_add_adult(self):
        
        expected_result = [[u'Jon', u'JB', u'39']]

        objtype = 'adult'
        datamembers = {'name':'Jon',
                       'code':'JB',
                       'prep':5}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    objtype=objtype,datamembers=datamembers)
    
        ssviewer_utils.dataset_add(**args)
        
        with self.database:
            _,rows,_ = tbl_rows_get(self.database,"adult",['name','code','enum'],[["name","=","\"Jon\""]])

        self.assertEqual(rows,expected_result)
Пример #13
0
    def test_add_dow(self):
        
        expected_result = [[u'Monday', u'MO', u'1'], [u'Tuesday', u'TU', u'2'], [u'Thursday', u'TH', u'3'], 
                           [u'Wednesday', u'WE', u'4'], [u'Friday', u'FR', u'5'], [u'XX', u'Foobarday', u'6']]

        objtype = 'dow'
        datamembers = {'name':'XX',
                       'code':'Foobarday'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    objtype=objtype,datamembers=datamembers)
    
        ssviewer_utils.dataset_add(**args)
        
        with self.database:
            _,rows,_ = tbl_rows_get(self.database,"dow",['name','code','enum'])

        self.assertEqual(rows,expected_result)
Пример #14
0
    def test_dupe(self):
        
        expected_result = [['', u'MO', u'TU'], [u'830-910', [], [('Math',)]], [u'1030-1110', [(u'Game Period',)], []]]

        datamembers = {'student':'Clayton',
                       'teacher':'Stan',
                       'subject':'Math',
                       'period':'830-910',
                       'recordtype':'subject',
                       'dow':'Tuesday'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    datamembers=datamembers)
    
        newobj = ssviewer_utils.dataset_add(**args)
        
        with self.assertRaises(Exception):
            newobj = ssviewer_utils.dataset_add(**args)
Пример #15
0
 def test_(self):
     
     # test that a new object is added into of store with the correct userobjid
     
     expected_result = 'Stan.Math.Tuesday.830-910'
     
     datamembers = {'student':'Nathaniel',
                    'teacher':'Stan',
                    'subject':'Math',
                    'period':'830-910',
                    'recordtype':'academic',
                    'dow':'Tuesday'}
     args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                 datamembers=datamembers)
 
     ssviewer_utils.dataset_add(**args)
 
     self.assertEqual(self.of.object_get('lesson',datamembers['userobjid']).session.name,
                      expected_result)
Пример #16
0
    def test_add_subject_object(self):
        
        expected_result = [['code', 'name', 'enum', 'objtype', 'id', 'userobjid'], 
                           [u'Game Period', u'Game Period', 0, 'subject', u'Game Period'], 
                           ['CYCL', 'Cycling', 38, 'subject', 'Cycling']]

        objtype = 'subject'
        datamembers = {'name':'Cycling',
                       'code':'CYCL'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    objtype=objtype,datamembers=datamembers)
    
        ssviewer_utils.dataset_add(**args)
        
        result,_ = ssviewer_utils.dataset_list(self.of,self.enums,'subject',pagelen=30,pagenum=1,
                                             constraints=[],columns=['code','name','enum','objtype','userobjid'])      
        
        self.assertListEqual(result,expected_result)
Пример #17
0
    def test_add_period_db(self):

        expected_result = [[u'330-400']]

        objtype = 'period'
        datamembers = {'name': '330-400', 'code': '330'}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, "period", ['name'],
                                      [["name", "=", "\"330-400\""]])

        self.assertEqual(rows, expected_result)
Пример #18
0
    def test_add_adult(self):

        expected_result = [[u'Jon', u'JB', u'39']]

        objtype = 'adult'
        datamembers = {'name': 'Jon', 'code': 'JB', 'prep': 5}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        ssviewer_utils.dataset_add(**args)

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, "adult",
                                      ['name', 'code', 'enum'],
                                      [["name", "=", "\"Jon\""]])

        self.assertEqual(rows, expected_result)
Пример #19
0
 def test_internal_dict(self):
     
     # test that the internal datamembers/dm dict has the correct keys by asserting correct values
     # and comparing keys vs a recovered record
     
     expected_result = {'status': 'master', 'prep': 5, 'recordtype': 'subject', 
                        'period': '830-910', 'substatus': 'complete', 'source': 'manual', 'session': 
                        'Stan.Math.Tuesday.830-910', 'adult': 'Stan', 'student': 'Nathaniel', 'objtype': 
                        'lesson', 'dow': u'TU', 'userobjid': '1.2.1.2.4', 'subject': 'Math'} 
     
     datamembers = {'student':'Nathaniel',
                    'teacher':'Stan',
                    'subject':'Math',
                    'period':'830-910',
                    'recordtype':'subject',
                    'dow':'Tuesday'}
     
     args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                 datamembers=datamembers)
 
     ssviewer_utils.dataset_add(**args)
 
     obj_recovered = self.of.query('lesson')[0].dm.keys()
     obj_add = self.of.query('lesson')[1].dm.keys()
          
     obj_recovered.sort()
     obj_add.sort()
     
     # test keys
     self.assertListEqual(obj_recovered,obj_add)
     
     obj = self.of.object_get('lesson',datamembers['userobjid'])
         
     obj.dm.pop("id")
     
     # test values
     self.assertEqual(obj.dm,expected_result)
Пример #20
0
    def test_internal_attr(self):

        # check the member attr values and that the keys are the same between recovered and added objects
        datamembers = {
            'student': 'Nathaniel',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'subject',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers)

        obj = ssviewer_utils.dataset_add(**args)

        self.assertEquals(obj.adult.name, 'Stan')
        self.assertEquals(obj.dow.name, 'TU')
        self.assertTrue(hasattr(obj, 'id'))
        self.assertEquals(obj.objtype.name, 'lesson')
        self.assertEquals(obj.period.name, '830-910')
        self.assertEquals(obj.prep.name, 5)
        self.assertEquals(obj.recordtype.name, 'subject')
        self.assertEquals(obj.session.name, 'Stan.Math.Tuesday.830-910')
        self.assertEquals(obj.source.name, 'manual')
        self.assertEquals(obj.status.name, 'master')
        self.assertEquals(obj.student.name, 'Nathaniel')
        self.assertEquals(obj.subject.name, 'Math')
        self.assertEquals(obj.substatus.name, 'complete')
        self.assertEquals(obj.userobjid.name, '1.2.1.2.4')

        obj_addattrnames = [
            k for k, v in obj.attr_get_keyval(include_callable=False,
                                              include_nondataattr=False)
        ]

        obj_recoveredattrnames = [
            k for k, v in self.of.query('lesson')[0].attr_get_keyval(
                include_callable=False, include_nondataattr=False)
        ]

        self.assertListEqual(obj_addattrnames, obj_recoveredattrnames)
Пример #21
0
    def test_add_subject(self):
        
        expected_result = [[u'Cycling', u'CYCL', u'38']]
        
        objtype = 'subject'
        datamembers = {'name':'Cycling',
                       'code':'CYCL'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    objtype=objtype,datamembers=datamembers)
    
        obj = ssviewer_utils.dataset_add(**args)

        with self.database:
            _,rows,_ = tbl_rows_get(self.database,"subject",['name','code','enum'],[["name","=","\"Cycling\""]])

        self.assertEqual(rows,expected_result)
Пример #22
0
    def GET(self,objtype):
        
        web.header('Access-Control-Allow-Origin','*')
        web.header('Access-Control-Allow-Credientials','true')
        
        _dm = web.input()
        
        datamembers = dict(zip(_dm.keys(),_dm.values()))  
        
        # these are not required to build the new record and
        # the service takes ALL members of datamembers and adds them to
        # the new message payload
        try:
            datamembers.pop('page_status')
            datamembers.pop('source_type')
            datamembers.pop('source_value')
        except:
            pass

        try:
            newobj = ssviewer_utils.dataset_add(database,database,of,enums,prepmap,
                                            datamembers,objtype,keepversion=True)
        except ssviewer_utils.OFDuplicateRecord:
            return "-1"
        
        header = "<root><parser><value>drawform</value></parser></root>"
        
        if hasattr(newobj.userobjid,"name"):
            _userobjid = newobj.userobjid.name
        else:
            _userobjid = newobj.userobjid
            
        if hasattr(newobj.objtype,"name"):
            _objtype = newobj.objtype.name
        else:
            _objtype = newobj.objtype

        return "id="+_userobjid+","+",".join([k + "=" + _dm[k] for k in _dm.keys()])
Пример #23
0
    def test_add_subject(self):

        expected_result = [[u'Cycling', u'CYCL', u'38']]

        objtype = 'subject'
        datamembers = {'name': 'Cycling', 'code': 'CYCL'}

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    objtype=objtype,
                    datamembers=datamembers)

        obj = ssviewer_utils.dataset_add(**args)

        with self.database:
            _, rows, _ = tbl_rows_get(self.database, "subject",
                                      ['name', 'code', 'enum'],
                                      [["name", "=", "\"Cycling\""]])

        self.assertEqual(rows, expected_result)
Пример #24
0
    def test_db_updates_enabled(self):
        
        expected_result = [[u'Dylan', u'Clayton', u'1030-1110', u'MO', u'Game Period', u'academic','current'], 
                           [u'Stan', u'Nathaniel', u'830-910', u'TU', u'Math', u'academic','current']]

        datamembers = {'student':'Nathaniel',
                       'teacher':'Stan',
                       'subject':'Math',
                       'period':'830-910',
                       'recordtype':'academic',
                       'dow':'Tuesday'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    datamembers=datamembers,keepversion=True)
    
        obj = ssviewer_utils.dataset_add(**args)
        obj.keepversion=True
        obj.customtimestamp = "%y%m%d_%H%M%S"

        with self.database:
            _,rows,_ = tbl_rows_get(self.database,'lesson',['teacher','student','period','dow','subject','recordtype','__version'])
         
        self.assertListEqual(expected_result,rows)
Пример #25
0
    def test_internal_attr(self):
        
        # check the member attr values and that the keys are the same between recovered and added objects
        datamembers = {'student':'Nathaniel',
                       'teacher':'Stan',
                       'subject':'Math',
                       'period':'830-910',
                       'recordtype':'subject',
                       'dow':'Tuesday'}
        
        args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                    datamembers=datamembers)
    
        obj = ssviewer_utils.dataset_add(**args)
        
        self.assertEquals(obj.adult.name,'Stan')
        self.assertEquals(obj.dow.name,'TU')
        self.assertTrue(hasattr(obj,'id'))
        self.assertEquals(obj.objtype.name,'lesson')
        self.assertEquals(obj.period.name,'830-910')
        self.assertEquals(obj.prep.name,5)
        self.assertEquals(obj.recordtype.name,'subject')
        self.assertEquals(obj.session.name,'Stan.Math.Tuesday.830-910')
        self.assertEquals(obj.source.name,'manual')
        self.assertEquals(obj.status.name,'master')
        self.assertEquals(obj.student.name,'Nathaniel')
        self.assertEquals(obj.subject.name,'Math')
        self.assertEquals(obj.substatus.name,'complete')
        self.assertEquals(obj.userobjid.name,'1.2.1.2.4')

        obj_addattrnames = [k for k,v in obj.attr_get_keyval(include_callable=False,
                                       include_nondataattr=False)]
        
        obj_recoveredattrnames = [k for k,v in self.of.query('lesson')[0].attr_get_keyval(include_callable=False,
                                       include_nondataattr=False)]
        
        self.assertListEqual(obj_addattrnames, obj_recoveredattrnames) 
Пример #26
0
 def test_add_period_object(self):
     
     expected_result = [[u'330-400']]
     
     objtype = 'period'
     datamembers = {'name':'330-400','code':'330'}
     
     args = dict(database=self.database,refdatabase=self.database,prepmap=self.prepmap,of=self.of,enums=self.enums,
                 objtype=objtype,datamembers=datamembers)
 
     newobj = ssviewer_utils.dataset_add(**args)
     
     
     with self.database:
         _,rows,_ = tbl_rows_get(self.database,"period",['name'],[["name","=","\"330-400\""]])
         
     self.assertEqual(rows,expected_result)
     
     expected_result = {'code': '330', 'name': '330-400', 'enum': 11, 'objtype': 'period','userobjid': '330-400'}
     
     newobj.dm.pop('id')
     
     #print newobj.dm,expected_result
     self.assertEqual(newobj.dm,expected_result)
Пример #27
0
    def test_update_add(self):

        # check that a record can be updated after it has been added
        expected_results = [[
            'status', 'substatus', 'recordtype', 'period', 'dow', 'source',
            'session', 'adult', 'student', 'id', 'objtype', 'prep',
            'userobjid', 'subject'
        ],
                            [
                                u'master', u'complete', u'academic',
                                u'1030-1110', u'MO', u'dbinsert',
                                u'Dylan.Game Period.Monday.1030-1110',
                                u'Dylan', u'Clayton', 'lesson', 5,
                                u'4.1.2.37.37', u'Game Period'
                            ],
                            [
                                'master', 'complete', 'academic', '1030-1110',
                                u'TU', 'manual', 'Stan.Math.Tuesday.830-910',
                                'Stan', 'Nathaniel', 'lesson', 5, '1.2.1.2.4',
                                'Math'
                            ]]

        datamembers = {
            'student': 'Nathaniel',
            'teacher': 'Stan',
            'subject': 'Math',
            'period': '830-910',
            'recordtype': 'academic',
            'dow': 'Tuesday'
        }

        args = dict(database=self.database,
                    refdatabase=self.database,
                    prepmap=self.prepmap,
                    of=self.of,
                    enums=self.enums,
                    datamembers=datamembers,
                    keepversion=True)

        obj = ssviewer_utils.dataset_add(**args)

        obj.keepversion = True
        obj.customtimestamp = "%y%m%d_%H%M%S"
        newid = obj.update(self.of, 'period', '1030-1110', self.dbname)

        grid, colnames = ssviewer_utils.dataset_list(
            self.of,
            self.enums,
            columns=[
                'status', 'substatus', 'recordtype', 'period', 'dow', 'source',
                'session', 'adult', 'student', 'objtype', 'prep', 'userobjid',
                'subject'
            ])

        self.assertListEqual(grid, expected_results)

        # tests whats in the database
        expected_results = [[
            u'Dylan', u'Clayton', u'1030-1110', u'MO', u'Game Period',
            u'academic', u'current', u'master', u'complete', u'dbinsert'
        ],
                            [
                                u'Stan', u'Nathaniel', u'830-910', u'TU',
                                u'Math', u'academic', u'version', u'master',
                                u'complete', u'manual'
                            ],
                            [
                                u'Stan', u'Nathaniel', u'1030-1110', u'TU',
                                u'Math', u'academic', u'current', u'master',
                                u'complete', u'manual'
                            ]]
        with self.database:
            _, rows, _ = tbl_rows_get(self.database, 'lesson', [
                'teacher', 'student', 'period', 'dow', 'subject', 'recordtype',
                '__version', 'status', 'substatus', 'source'
            ])

        self.assertListEqual(rows, expected_results)