Esempio n. 1
0
    def testNormal(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 班级中创建学生
            url = address + '/api/v1/account/student/edit'
            data = {'name': '张三', 'number': '001', 'group_uid': group_uid}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(
                '张三', response_json_data['data']['name'].encode('UTF-8'))
            self.assertEqual('student', response_json_data['data']['role'])
            stu_uid = response_json_data['data']['uid']
            self.assertIsNotNone(stu_uid)

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 2
0
    def testCreateEmptyList(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 班级中创建学生
            url = address + '/api/v1/account/student/batch'
            data = {'students': []}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(1, response_json_data['code'])

            # 查询班级列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
    def testDeleteSingle(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            stu_uids = []
            for i in range(10):
                # 创建学生
                url = address + '/api/v1/account/student/batch'
                number = int(str(time.time()).split('.')[0])
                data = {
                    'group_uid': group_uid,
                    'students': [{
                        'name': '张三',
                        'number': number + i
                    }]
                }
                postData = json.dumps(data)
                request = urllib2.Request(url, postData, headers)
                content = opener.open(request)
                response_json_data = json.loads(content.read())
                self.assertEqual(200, content.code)
                self.assertEqual(0, response_json_data['code'])
                self.assertEqual(0, len(response_json_data['data']))

            # 学生列表获取学生uid
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(10, len(response_json_data['data']))
            for data in response_json_data['data']:
                stu_uids.append(data['uid'])

            random.shuffle(stu_uids)
            for stu_uid in stu_uids:  # 删除学生信息
                url = address + '/api/v1/account/group/student/quit'
                data = {'group_uid': group_uid, 'user_uid': [stu_uid]}
                postData = json.dumps(data)
                request = urllib2.Request(url, postData, headers)
                content = opener.open(request)
                response_json_data = json.loads(content.read())
                self.assertEqual(200, content.code)
                self.assertEqual(0, response_json_data['code'])

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
    def testWrongGroupUid(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 创建学生
            url = address + '/api/v1/account/student/batch'
            number = str(time.time()).split('.')[0] + '11'
            data = {
                'group_uid': group_uid,
                'students': [{
                    'name': '张三',
                    'number': number
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))

            # 学生列表获取学生uid
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))
            self.assertEqual(
                '张三', response_json_data['data'][0]['name'].encode('UTF-8'))
            self.assertEqual(number, response_json_data['data'][0]['number'])
            stu_uid = response_json_data['data'][0]['uid']

            # 删除学生信息
            url = address + '/api/v1/account/group/student/quit'
            data = {'group_uid': 'wrong', 'user_uid': [stu_uid]}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(1, response_json_data['code'])

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 5
0
    def testCreateAll(self):
        try:
            # subject 为 chinese,math,english,physics,chemistry,biology,history,geography,phlitics,others
            subjects = ['politics', 'chinese', 'math', 'english', 'physics', 'chemistry', 'biology', 'history', 'geography', 'others']
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
            loginAndCreateClass(opener)

            # 创建考试
            for subject in subjects:
                url = address + '/api/v1/exercise/edit'
                name = '考试 ' + subject + ' 啦'
                # subject = subjects[1]
                data = {'name': name, 'subject': subject, 'manual': True}
                postData = json.dumps(data)
                request = urllib2.Request(url, postData, headers)
                content = opener.open(request)
                response_json_data = json.loads(content.read())
                self.assertEqual(200, content.code)
                self.assertEqual(0, response_json_data['code'])
                self.assertEqual(name, response_json_data['data']['name'].encode('UTF-8'))
                # self.assertEqual(subject, response_json_data['data']['subject'])
                exam_uid = response_json_data['data']['uid']
                self.assertIsNotNone(exam_uid)

            # 查看教师考试列表
            url = address + '/api/v1/exercise/list'
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(10, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 6
0
    def testCreateAsList(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 班级中创建学生, 学号有重复
            number = str(time.time()).split('.')[0] + str(
                datetime.datetime.now().microsecond)
            url = address + '/api/v1/account/student/batch'
            data = {
                'group_uid':
                group_uid,
                'students': [{
                    'name': '张三',
                    'number': number
                }, {
                    'name': '张四',
                    'number': number
                }, {
                    'name': '张五',
                    'number': number + '1'
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))
            self.assertEqual(number, response_json_data['data'][0]['number'])
            self.assertEqual(
                '张四', response_json_data['data'][0]['name'].encode('UTF-8'))

            #查询班级列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(2, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 7
0
    def testMissParam(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list'
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertTrue(len(response_json_data['data']) >= 0)
        except Exception, e:
            logger.error(e.message)
            self.fail()
    def testOtherGroupUID(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)
            headers = {'Content-Type': 'application/json'}

            # 创建学生
            url = address + '/api/v1/account/student/batch'
            number = str(time.time()).split('.')[0] + '12'
            data = {
                'group_uid': group_uid,
                'students': [{
                    'name': '张三',
                    'number': number
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))

            # 学生列表获取学生uid
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))
            self.assertEqual(
                '张三', response_json_data['data'][0]['name'].encode('UTF-8'))
            self.assertEqual(number, response_json_data['data'][0]['number'])
            stu_uid = response_json_data['data'][0]['uid']

            # 创建其他班级
            url = address + '/api/v1/account/group/edit'
            name = '其他班级'
            body = {'name': name}
            data = json.dumps(body)
            headers = {'Content-Type': 'application/json'}
            request = urllib2.Request(url, data, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(None, response_json_data['message'])
            self.assertEqual(
                name.strip(),
                response_json_data['data']['name'].encode('UTF-8'))
            other_group_uid = response_json_data['data']['uid']
            self.assertIsNotNone(other_group_uid)

            # 删除学生信息, 删除学生失败
            url = address + '/api/v1/account/group/student/quit'
            data = {'group_uid': other_group_uid, 'user_uid': [stu_uid]}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 9
0
    def testNormal(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            loginAndCreateClass(opener)

            # 创建考试
            url = address + '/api/v1/exercise/edit'
            name = '考试啦'
            subject = 'chinese'
            data = {'name': name, 'subject': subject, 'manual': True}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(
                name, response_json_data['data']['name'].encode('UTF-8'))
            # self.assertEqual(subject, response_json_data['data']['subject'])
            exam_uid = response_json_data['data']['uid']
            self.assertIsNotNone(exam_uid)

            #编辑考试
            url = address + '/api/v1/exercise/edit'
            name = '考试啦'
            data = {
                'name':
                name,
                'exercise_uid':
                exam_uid,
                'origin': [{
                    'body': '内容看这里',
                    'doi': 1,
                    'title': '标题在这里',
                    'answer': '',
                    'number_upper': 1000,
                    'number_lower': 100,
                    'score': 150
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])

            #提交考试
            url = address + '/api/v1/exercise/submit'
            data = {'exercise_uid': exam_uid}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])

            #查看教师考试列表
            url = address + '/api/v1/exercise/list'
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(3, response_json_data['data'][0]['status'])
            self.assertEqual(exam_uid, response_json_data['data'][0]['uid'])

            #查看考试信息
            url = address + '/api/v1/exercise/edit?exercise_uid=' + exam_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(3, response_json_data['data']['status'])
            self.assertEqual(
                '内容看这里', response_json_data['data']['origin'][0]
                ['body'].encode('UTF-8'))
            self.assertEqual(
                '标题在这里', response_json_data['data']['origin'][0]
                ['title'].encode('UTF-8'))
            self.assertEqual(
                100, response_json_data['data']['origin'][0]['number_lower'])
            self.assertEqual(
                1000, response_json_data['data']['origin'][0]['number_upper'])
            self.assertEqual(150,
                             response_json_data['data']['origin'][0]['score'])

            #删除考试
            url = address + '/api/v1/exercise/delete'
            data = {'exercise_uid': exam_uid}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])

            # 查看教师考试列表
            url = address + '/api/v1/exercise/list'
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 10
0
    def testEditManyRandom(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            stu_uids = []
            for i in range(10):
                # 班级中创建学生
                url = address + '/api/v1/account/student/edit'
                data = {'name': '张三', 'number': str(i), 'group_uid': group_uid}
                postData = json.dumps(data)
                request = urllib2.Request(url, postData, headers)
                content = opener.open(request)
                response_json_data = json.loads(content.read())
                self.assertEqual(200, content.code)
                self.assertEqual(0, response_json_data['code'])
                self.assertEqual(
                    '张三', response_json_data['data']['name'].encode('UTF-8'))
                self.assertEqual('student', response_json_data['data']['role'])
                stu_uid = response_json_data['data']['uid']
                self.assertIsNotNone(stu_uid)
                stu_uids.append(stu_uid)

            random.shuffle(stu_uids)
            i = 10
            for stu_uid in stu_uids:
                # 编辑学生信息
                url = address + '/api/v1/account/student/edit'
                data = {'name': '李思', 'number': str(i), 'user_uid': stu_uid}
                postData = json.dumps(data)
                request = urllib2.Request(url, postData, headers)
                content = opener.open(request)
                response_json_data = json.loads(content.read())
                self.assertEqual(200, content.code)
                self.assertEqual(0, response_json_data['code'])
                i += 1

            # 查询班级中学生列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(10, len(response_json_data['data']))
            total = 0
            for i in range(10):
                self.assertEqual(
                    '李思',
                    response_json_data['data'][i]['name'].encode('UTF-8'))
                total += int(response_json_data['data'][i]['number'])
                self.assertTrue(
                    int(response_json_data['data'][i]['number']) >= 10)
                self.assertTrue(
                    response_json_data['data'][i]['uid'] in stu_uids)
            self.assertEqual(145, total)
        except Exception, e:
            logger.error(e.message)
            self.fail()
Esempio n. 11
0
    def testCreateDeleteThanCreat1(self):
        try:
            cookieJar = cookielib.CookieJar()
            opener = urllib2.build_opener(
                urllib2.HTTPCookieProcessor(cookieJar))
            group_uid = loginAndCreateClass(opener)

            # 班级中创建学生
            url = address + '/api/v1/account/student/batch'
            number = str(time.time()).split('.')[0] + str(
                datetime.datetime.now().microsecond)
            data = {
                'group_uid':
                group_uid,
                'students': [{
                    'name': '张三',
                    'number': number
                }, {
                    'name': '张四',
                    'number': number + '1'
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))

            # 查询班级列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(2, len(response_json_data['data']))
            stu_uid = response_json_data['data'][0]['uid']
            stu_uid1 = response_json_data['data'][1]['uid']

            # 删除学生信息
            url = address + '/api/v1/account/group/student/quit'
            data = {'group_uid': group_uid, 'user_uid': [stu_uid, stu_uid1]}
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])

            # 查询班级列表
            url = address + '/api/v1/account/student/list?group_uid=' + group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(0, len(response_json_data['data']))

            # 删除班级
            clearCleasses()

            # 创建其他班级
            url = address + '/api/v1/account/group/edit'
            name = '我的第二个班级' + str(time.time())
            body = {'name': name}
            data = json.dumps(body)
            request = urllib2.Request(url, data, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            oter_group_uid = response_json_data['data']['uid']

            # 其他班级中创建学生  number和其他班级的重复
            url = address + '/api/v1/account/student/batch'
            data = {
                'group_uid':
                oter_group_uid,
                'students': [{
                    'name': '张三',
                    'number': number
                }, {
                    'name': '张四',
                    'number': number + '2'
                }]
            }
            postData = json.dumps(data)
            request = urllib2.Request(url, postData, headers)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))

            # 查询第一个班级列表
            url = address + '/api/v1/account/student/list?group_uid=' + oter_group_uid
            request = urllib2.Request(url)
            content = opener.open(request)
            response_json_data = json.loads(content.read())
            self.assertEqual(200, content.code)
            self.assertEqual(0, response_json_data['code'])
            self.assertEqual(1, len(response_json_data['data']))

        except Exception, e:
            logger.error(e.message)
            self.fail()