def test_mesos_file_response_stderr(self): self.client.login(username='******', password='******') controller = self.mk_controller(controller={ 'owner': User.objects.get(pk=2), 'state': 'done'}) setup_responses_for_log_tests(controller) resp = self.client.get(reverse('base:mesos_file_log_view', kwargs={ 'controller_pk': controller.pk, 'task_id': 'the-task-id', 'path': 'stderr', })) self.assertEqual( resp['X-Accel-Redirect'], '%s%s' % ( settings.MESOS_FILE_API_PATH % { 'worker_host': 'worker-machine-1', 'api_path': 'read.json', }, '?%s' % (urllib.urlencode(( ('path', ('/tmp/mesos/slaves/worker-machine-id' '/frameworks/the-framework-id/executors' '/%s.the-task-id/runs/latest/stderr') % ( controller.app_id,)), ('length', ''), ('offset', ''), )),))) self.assertEqual(resp['X-Accel-Buffering'], 'no')
def setUp(self): User = get_user_model() user = User.objects.create_user( 'tester', '*****@*****.**', 'tester') self.controller = Controller( name='Test App', marathon_cmd='ping', owner=user) self.controller.save() setup_responses_for_log_tests(self.controller) self.general_im = GeneralInfrastructureManager() self.controller_im = self.controller.infra_manager
def setUp(self): User = get_user_model() user = User.objects.create_user('tester', '*****@*****.**', 'tester') self.controller = Controller(name='Test App', marathon_cmd='ping', owner=user) self.controller.save() setup_responses_for_log_tests(self.controller) self.general_im = GeneralInfrastructureManager() self.controller_im = self.controller.infra_manager
def test_applog_view(self): self.client.login(username='******', password='******') controller = self.mk_controller(controller={ 'owner': User.objects.get(pk=2), 'state': 'done'}) setup_responses_for_log_tests(controller) response = self.client.get(reverse('base:logs', kwargs={ 'controller_pk': controller.pk, })) [task] = response.context['tasks'] self.assertEqual(task['id'], '%s.the-task-id' % (controller.app_id,)) [task_id] = response.context['task_ids'] self.assertEqual(task_id, 'the-task-id')
def test_mesos_file_response_badpath(self): self.client.login(username='******', password='******') controller = self.mk_controller(controller={ 'owner': User.objects.get(pk=2), 'state': 'done'}) setup_responses_for_log_tests(controller) # NOTE: bad path according to URL regex, hence the manual requesting view = MesosFileLogView() request = RequestFactory().get('/') request.user = controller.owner request.session = {} response = view.get(request, controller.pk, 'the-task-id', 'foo') self.assertEqual(response.status_code, 404) self.assertEqual(response.content, 'File not found.')