Browse Source

test was wrong, needed a ws scheme... convert from http -> ws..

main
John-Mark Gurney 3 years ago
parent
commit
8fa96714d1
1 changed files with 21 additions and 1 deletions
  1. +21
    -1
      bitelab/__main__.py

+ 21
- 1
bitelab/__main__.py View File

@@ -83,6 +83,14 @@ def make_attrs(*args):

_httpxargs = dict(timeout=20)

def convert_to_ws(url):
if url.startswith('http://'):
url = url.replace('http', 'ws', 1)
elif url.startswith('https://'):
url = url.replace('https', 'wss', 1)

return url

def output_board(brd):
print('Name:\t%s' % brd.name)
print('Class:\t%s' % brd.brdclass)
@@ -118,6 +126,7 @@ async def fwd_data(reader, writer):

async def run_exec(baseurl, authkey, board, args):
url = urllib.parse.urljoin(baseurl, 'board/%s/exec' % urllib.parse.quote(board, safe=''))
url = convert_to_ws(url)
stdin, stdout = await aioconsole.stream.get_standard_streams()

async with websockets.connect(url) as ws, wsfwd.WSFWDClient(ws.recv, ws.send) as client:
@@ -338,7 +347,7 @@ class TestExecClient(unittest.IsolatedAsyncioTestCase):

ret, stdout = await self.runAsyncMain()

webcon.assert_called_with(urllib.parse.urljoin('http://someserver/', 'board/cora-z7s/exec'))
webcon.assert_called_with(urllib.parse.urljoin('ws://someserver/', 'board/cora-z7s/exec'))

await server.__aexit__(None, None, None)

@@ -417,6 +426,17 @@ class TestClient(unittest.TestCase):

return ret, stdout.getvalue()

def test_converttows(self):
testpairs = [
('http://somelkjdf/sdoijef/http/https/',
'ws://somelkjdf/sdoijef/http/https/'),
('https://oiweufjk/aoijeskfj/sadfoije/http/https/',
'wss://oiweufjk/aoijeskfj/sadfoije/http/https/'),
]

for orig, new in testpairs:
self.assertEqual(convert_to_ws(orig), new, 'failed to convert: %s' % repr(orig))

def test_sshpubkey(self):
fname = 'fname'
rdata = 'foo'


Loading…
Cancel
Save