@mock.patch('requests.post', mock_status_ok)
    @mock.patch('api.models.logger')
    def test_admin_can_manage_other_apps(self, mock_logger):
        # log in as non-admin user and create an app
        user = User.objects.get(username='autotest2')
        token = Token.objects.get(user=user)
        app_id = 'autotest'
        url = '/v1/apps'
        body = {'id': app_id}
        response = self.client.post(url, json.dumps(body), content_type='application/json',
                                    HTTP_AUTHORIZATION='token {}'.format(token))
        # log in as admin, check to see if they have access
        url = '/v1/apps/{}'.format(app_id)
        response = self.client.get(url,
                                   HTTP_AUTHORIZATION='token {}'.format(self.token))
        self.assertEqual(response.status_code, 200)
        # check app logs
        exp_msg = "autotest2 created initial release"
        exp_log_call = mock.call(logging.INFO, exp_msg)
        mock_logger.log.has_calls(exp_log_call)
        # TODO: test run needs an initial build
        # delete the app
        url = '/v1/apps/{}'.format(app_id)
        response = self.client.delete(url,
                                      HTTP_AUTHORIZATION='token {}'.format(self.token))
        self.assertEqual(response.status_code, 204)
simple test that creates two subprocesses and checks the
dataset/ETHPy150Open deis/deis/controller/api/tests/test_app.py/AppTest.test_admin_can_manage_other_apps--crossover with--dataset/ETHPy150Open manahl/mdf/mdf/tests/test_regression.py/RemoteTest.test_regression_contexts