示例#1
0
 def test_delete_test_suite(self):
     ts = TestSuite(name='Zamboni', slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     r = self.client.get(reverse('system.delete_test_suite',
                                 args=[ts.id]))
     self.assertRedirects(r, reverse('system.test_suites'))
     eq_(TestSuite.objects.filter(slug='zamboni').count(), 0)
     eq_(Token.objects.filter(test_suite=ts).count(), 0)
示例#2
0
 def test_generate_token(self):
     ts = TestSuite(name='Zamboni', slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     r = self.client.post(reverse('system.generate_token'), {
         'test_suite_id': ts.id
     })
     self.assertRedirects(r, reverse('system.test_suites'))
     tk = Token.objects.get(test_suite=ts)
示例#3
0
 def test_generate_token(self):
     ts = TestSuite(name='Zamboni',
                    slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     r = self.client.post(reverse('system.generate_token'),
                          {'test_suite_id': ts.id})
     self.assertRedirects(r, reverse('system.test_suites'))
     tk = Token.objects.get(test_suite=ts)
示例#4
0
 def test_delete_test_suite(self):
     ts = TestSuite(name='Zamboni',
                    slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     r = self.client.get(reverse('system.delete_test_suite', args=[ts.id]))
     self.assertRedirects(r, reverse('system.test_suites'))
     eq_(TestSuite.objects.filter(slug='zamboni').count(), 0)
     eq_(Token.objects.filter(test_suite=ts).count(), 0)
示例#5
0
文件: tests.py 项目: jsocol/jstestnet
 def setUp(self):
     user_agent = ('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; '
                   'en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12')
     worker = Worker.objects.create()
     worker.parse_user_agent(user_agent)
     worker.save()
     ts = TestSuite(name='Zamboni', slug='zamboni',
                    url='http://server/qunit1.html')
     ts.save()
     token = Token.create(ts)
     r = self.client.post(reverse('system.start_tests'),
                          data={'browsers': 'firefox', 'token': token,
                                'name': ts.slug})
     eq_(r.status_code, 200)
     r = self.client.post(reverse('work.query'),
                          dict(worker_id=worker.id, user_agent=user_agent))
     eq_(r.status_code, 200)
     data = json.loads(r.content)
     self.work_queue_id = data['work_queue_id']
示例#6
0
文件: tests.py 项目: ehelms/jstestnet
 def setUp(self):
     user_agent = ('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; '
                   'en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12')
     worker = Worker.objects.create()
     worker.parse_user_agent(user_agent)
     worker.save()
     ts = TestSuite(name='Zamboni', slug='zamboni',
                    default_url='http://server/qunit1.html')
     ts.save()
     token = Token.create(ts)
     r = self.client.post(reverse('system.start_tests'),
                          data={'browsers': 'firefox', 'token': token,
                                'name': ts.slug})
     eq_(r.status_code, 200)
     r = self.client.post(reverse('work.query'),
                          dict(worker_id=worker.id, user_agent=user_agent))
     eq_(r.status_code, 200)
     data = json.loads(r.content)
     self.work_queue_id = data['work_queue_id']
示例#7
0
 def test_edit_test_suite(self):
     ts = TestSuite(name='Zamboni', slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     orig_ts = ts
     tokens = Token.objects.count()
     r = self.client.post(reverse('system.create_edit_test_suite',
                                  args=[ts.id]), {
         'name': 'Zamboni2',
         'slug': 'zamboni2',
         'default_url': 'http://127.0.0.1:8001/qunit2/'
     })
     no_form_errors(r)
     self.assertRedirects(r, reverse('system.test_suites'))
     ts = TestSuite.objects.get(pk=orig_ts.id)
     eq_(ts.name, 'Zamboni2')
     eq_(ts.slug, 'zamboni2')
     eq_(ts.default_url, 'http://127.0.0.1:8001/qunit2/')
     eq_(ts.created.timetuple()[0:5],
         orig_ts.created.timetuple()[0:5])
     assert ts.last_modified != orig_ts.last_modified
     # Make sure no new tokens were created
     eq_(Token.objects.count(), tokens)
示例#8
0
 def test_edit_test_suite(self):
     ts = TestSuite(name='Zamboni',
                    slug='zamboni',
                    default_url='http://127.0.0.1:8001/qunit/')
     ts.save()
     orig_ts = ts
     tokens = Token.objects.count()
     r = self.client.post(
         reverse('system.create_edit_test_suite', args=[ts.id]), {
             'name': 'Zamboni2',
             'slug': 'zamboni2',
             'default_url': 'http://127.0.0.1:8001/qunit2/'
         })
     no_form_errors(r)
     self.assertRedirects(r, reverse('system.test_suites'))
     ts = TestSuite.objects.get(pk=orig_ts.id)
     eq_(ts.name, 'Zamboni2')
     eq_(ts.slug, 'zamboni2')
     eq_(ts.default_url, 'http://127.0.0.1:8001/qunit2/')
     eq_(ts.created.timetuple()[0:5], orig_ts.created.timetuple()[0:5])
     assert ts.last_modified != orig_ts.last_modified
     # Make sure no new tokens were created
     eq_(Token.objects.count(), tokens)
示例#9
0
文件: tests.py 项目: jsocol/jstestnet
    def test_work(self):
        user_agent = ('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; '
                      'en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12')
        worker = Worker()
        worker.save()
        ts = TestSuite(name='Zamboni', slug='zamboni',
                       url='http://server/qunit1.html')
        ts.save()
        token = Token.create(ts)

        # No work to fetch.
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'No commands from server.')

        # Simulate Hudson requesting a job:
        r = self.client.post(reverse('system.start_tests'),
                             data={'browsers': 'firefox', 'token': token,
                                   'name': ts.slug})
        eq_(r.status_code, 200)

        # Do work
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)

        eq_(data['cmd'], 'run_test')
        eq_(data['args'][0]['url'], ts.url)
        eq_(data['args'][0]['name'], ts.name)
        work_queue_id = data['args'][0]['work_queue_id']

        queue = WorkQueue.objects.get(pk=work_queue_id)
        eq_(queue.worker.id, worker.id)
        eq_(queue.finished, False)
        eq_(queue.results, None)
        eq_(queue.results_received, False)
        eq_(queue.worker.last_heartbeat.timetuple()[0:3],
            datetime.now().timetuple()[0:3])
        eq_(queue.worker.user_agent, user_agent)
        eq_(sorted([(e.engine, e.version) for e in
                    queue.worker.engines.all()]),
            sorted(parse_useragent(user_agent)))

        results = {
            'failures': 0,
            'total': 1,
            'tests': [{'test': 'foo',
                       'message': '1 equals 2',
                       'module': 'some module',
                       'result': True}]
        }
        r = self.client.post(reverse('work.submit_results'),
                             dict(work_queue_id=queue.id,
                                  results=json.dumps(results)))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'Test result received')

        # Refresh from db...
        queue = WorkQueue.objects.get(pk=queue.id)
        eq_(queue.finished, True)
        eq_(queue.results, json.dumps(results))
        eq_(queue.results_received, False)

        # Cannot fetch more work.
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'No commands from server.')
示例#10
0
文件: tests.py 项目: rlr/jstestnet
    def test_work(self):
        user_agent = ('Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; '
                      'en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12')
        worker = Worker()
        worker.save()
        ts = TestSuite(name='Zamboni', slug='zamboni',
                       default_url='http://server/qunit1.html')
        ts.save()
        token = Token.create(ts)

        # No work to fetch.
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'No commands from server.')

        # Simulate Hudson requesting a job:
        r = self.client.post(reverse('system.start_tests'),
                             data={'browsers': 'firefox', 'token': token,
                                   'name': ts.slug})
        eq_(r.status_code, 200)

        # Do work
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)

        eq_(data['cmd'], 'run_test')
        eq_(data['args'][0]['url'], ts.default_url)
        eq_(data['args'][0]['name'], ts.name)
        work_queue_id = data['args'][0]['work_queue_id']

        queue = WorkQueue.objects.get(pk=work_queue_id)
        eq_(queue.worker.id, worker.id)
        eq_(queue.finished, False)
        eq_(queue.results, None)
        eq_(queue.results_received, False)
        eq_(queue.worker.last_heartbeat.timetuple()[0:3],
            datetime.now().timetuple()[0:3])
        eq_(queue.worker.user_agent, user_agent)
        eq_(sorted([(e.engine, e.version) for e in
                    queue.worker.engines.all()]),
            sorted(parse_useragent(user_agent)))

        results = {
            'failures': 0,
            'total': 1,
            'tests': [{'test': 'foo',
                       'message': '1 equals 2',
                       'module': 'some module',
                       'result': True}]
        }
        r = self.client.post(reverse('work.submit_results'),
                             dict(work_queue_id=queue.id,
                                  results=json.dumps(results)))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'Test result received')

        # Refresh from db...
        queue = WorkQueue.objects.get(pk=queue.id)
        eq_(queue.finished, True)
        eq_(queue.results, json.dumps(results))
        eq_(queue.results_received, False)

        # Cannot fetch more work.
        r = self.client.post(reverse('work.query'),
                             dict(worker_id=worker.id, user_agent=user_agent))
        eq_(r.status_code, 200)
        data = json.loads(r.content)
        eq_(data['desc'], 'No commands from server.')