import pytest
from .env import H2Conf, H2TestEnv
@pytest.mark.skipif(condition=H2TestEnv.is_unsupported, reason="mod_http2 not supported here" )
class TestAssets:
@pytest.fixture(autouse=True , scope='class' )
def _class_scope(self, env):
H2Conf(env).add_vhost_test1().install()
assert env.apache_restart() == 0
# single page without any assets
def test_h2_006_01(self, env):
url = env.mkurl("https" , "test1" , "/001.html" )
r = env.nghttp().assets(url, options=["-Haccept-encoding: none" ])
assert 0 == r.exit_code
assert 1 == len(r.assets)
assert r.assets == [
{"status" : 200, "size" : "251" , "path" : "/001.html" }
]
# single image without any assets
def test_h2_006_02(self, env):
url = env.mkurl("https" , "test1" , "/002.jpg" )
r = env.nghttp().assets(url, options=["-Haccept-encoding: none" ])
assert 0 == r.exit_code
assert 1 == len(r.assets)
assert r.assets == [
{"status" : 200, "size" : "88K" , "path" : "/002.jpg" }
]
# gophertiles, yea!
def test_h2_006_03(self, env):
# create the tiles files we originally had checked in
exp_assets = [
{"status" : 200, "size" : "10K" , "path" : "/004.html" },
{"status" : 200, "size" : "742" , "path" : "/004/gophertiles.jpg" },
]
for i in range(2, 181):
with open(f"{env.server_docs_dir}/test1/004/gophertiles_{i:03d}.jpg" , "w" ) as fd:
fd.write("0123456789\n" )
exp_assets.append(
{"status" : 200, "size" : "11" , "path" : f"/004/gophertiles_{i:03d}.jpg" },
)
url = env.mkurl("https" , "test1" , "/004.html" )
r = env.nghttp().assets(url, options=["-Haccept-encoding: none" ])
assert 0 == r.exit_code
assert 181 == len(r.assets)
assert r.assets == exp_assets
# page with js and css
def test_h2_006_04(self, env):
url = env.mkurl("https" , "test1" , "/006.html" )
r = env.nghttp().assets(url, options=["-Haccept-encoding: none" ])
assert 0 == r.exit_code
assert 3 == len(r.assets)
assert r.assets == [
{"status" : 200, "size" : "543" , "path" : "/006.html" },
{"status" : 200, "size" : "216" , "path" : "/006/006.css" },
{"status" : 200, "size" : "839" , "path" : "/006/006.js" }
]
# page with image, try different window size
def test_h2_006_05(self, env):
url = env.mkurl("https" , "test1" , "/003.html" )
r = env.nghttp().assets(url, options=["--window-bits=24" , "-Haccept-encoding: none" ])
assert 0 == r.exit_code
assert 2 == len(r.assets)
assert r.assets == [
{"status" : 200, "size" : "316" , "path" : "/003.html" },
{"status" : 200, "size" : "88K" , "path" : "/003/003_img.jpg" }
]
quality 94%
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland