async def test_upload(self, client, certs_path): files = {'key': open(str(certs_path / 'certs/fledge.key'), 'rb'), 'cert': open(str(certs_path / 'certs/fledge.cert'), 'rb')} with patch.object(certificate_store, '_get_certs_dir', return_value=certs_path / 'certs'): with patch.object(certificate_store, '_find_file', return_value=[]) as patch_find_file: resp = await client.post('/fledge/certificate', data=files) assert 200 == resp.status result = await resp.text() json_response = json.loads(result) assert 'fledge.key and fledge.cert have been uploaded successfully' == json_response['result'] assert 2 == patch_find_file.call_count args, kwargs = patch_find_file.call_args_list[0] assert ('fledge.cert', certificate_store._get_certs_dir('/certs/')) == args args, kwargs = patch_find_file.call_args_list[1] assert ('fledge.key', certificate_store._get_certs_dir('/certs/')) == args
async def test_upload_with_existing_and_no_overwrite(self, client, certs_path): files = {'key': open(str(certs_path / 'certs/fledge.key'), 'rb'), 'cert': open(str(certs_path / 'certs/fledge.cert'), 'rb')} with patch.object(certificate_store, '_get_certs_dir', return_value=certs_path / 'certs'): with patch.object(certificate_store, '_find_file', return_value=["v"]) as patch_file: resp = await client.post('/fledge/certificate', data=files) assert 400 == resp.status assert 'Certificate with the same name already exists! To overwrite, set the ' \ 'overwrite flag' == resp.reason assert 1 == patch_file.call_count args, kwargs = patch_file.call_args assert ('fledge.cert', certificate_store._get_certs_dir('/certs')) == args
async def test_upload_with_cert_only(self, client, certs_path, filename): files = { 'cert': open(str(certs_path / 'certs/{}'.format(filename)), 'rb') } with patch.object(certificate_store, '_get_certs_dir', return_value=certs_path / 'certs/pem'): with patch.object(certificate_store, '_find_file', return_value=[]) as patch_find_file: resp = await client.post('/fledge/certificate', data=files) assert 200 == resp.status result = await resp.text() json_response = json.loads(result) assert '{} has been uploaded successfully'.format( filename) == json_response['result'] assert 1 == patch_find_file.call_count args, kwargs = patch_find_file.call_args assert (filename, certificate_store._get_certs_dir('/certs/pem')) == args