mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Cover package manifest with tests // Issue #69
This commit is contained in:
34
tests/test_pkgmanifest.py
Normal file
34
tests/test_pkgmanifest.py
Normal file
@ -0,0 +1,34 @@
|
||||
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
||||
# See LICENSE for details.
|
||||
|
||||
import requests
|
||||
from platformio.util import get_api_result
|
||||
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
if "package_data" not in metafunc.fixturenames:
|
||||
return
|
||||
pkgs_manifest = get_api_result("/packages")
|
||||
assert isinstance(pkgs_manifest, dict)
|
||||
packages = []
|
||||
for _, variants in pkgs_manifest.iteritems():
|
||||
for item in variants:
|
||||
packages.append(item)
|
||||
metafunc.parametrize("package_data", packages)
|
||||
|
||||
|
||||
def validate_response(req):
|
||||
assert req.status_code == 200
|
||||
assert int(req.headers['Content-Length']) > 0
|
||||
|
||||
|
||||
def validate_package(url):
|
||||
r = requests.head(url, allow_redirects=True)
|
||||
validate_response(r)
|
||||
assert r.headers['Content-Type'] == "application/x-gzip"
|
||||
|
||||
|
||||
def test_package(package_data):
|
||||
assert str(
|
||||
package_data['version']) + ".tar.gz" in package_data['url']
|
||||
validate_package(package_data['url'])
|
Reference in New Issue
Block a user