46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
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)
|