from base64 import b64encode import requests from flask import url_for from capsulflask.db import get_model from capsulflask.tests_base import BaseLiveServerTestCase class PublicAPITests(BaseLiveServerTestCase): def test_server_is_up_and_running(self): response = requests.get(self.get_server_url()) self.assertEqual(response.status_code, 200) def test_capsul_create_succeeds(self): response = requests.post( self.get_server_url() + url_for('publicapi.capsul_create'), headers={'Authorization': self.token}, json={ 'size': 'f1-xs', 'os': 'openbsd68', 'ssh_key_0': 'key' } ) self.assertEqual(response.status_code, 200) # FIXME: mock create doesn't create, see #83 # vms = get_model().list_vms_for_account('test@example.com') # # self.assertEqual( # len(vms), # 1 # ) def setUp(self): get_model().create_ssh_public_key('test@example.com', 'key', 'foo') self.token = b64encode( get_model().generate_api_token('test@example.com', 'apikey').encode('utf-8') ).decode('utf-8') def tearDown(self): get_model().delete_ssh_public_key('test@example.com', 'key') get_model().delete_api_token('test@example.com', 1)