Files
incubator-pagespeed-ngx/pagespeed/apache/system_tests/forbid_all_disabled.sh
T
Jeff Kaufman d55c2d7a2c licensing: correct license comments (#1447)
* many files had no license comments at all
* some files had license comments suggesting that they weren't open source
  (like a terse "all rights reserved") when they actually are open source.
* all our files are licensed under apache and should be marked as such
2016-12-12 10:16:54 -05:00

77 lines
3.5 KiB
Bash

#!/bin/bash
#
# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Test ForbidAllDisabledFilters, which is set in config for
# /mod_pagespeed_test/forbid_all_disabled/disabled/ where we've disabled
# remove_quotes, remove_comments, and collapse_whitespace (which are enabled
# for its parent directory). We fetch 3 x 3 times, the first 3
# being for forbid_all_disabled, fordid_all_disabled/disabled, and
# forbid_all_disabled/disabled/cheat, to ensure that a subdirectory cannot
# circumvent the forbidden flag; and the second 3 being a normal fetch, a
# fetch using a query parameter to try to enable the forbidden filters, and a
# fetch using a request header to try to enable the forbidden filters.
function test_forbid_all_disabled() {
QUERYP="$1"
HEADER="$2"
if [ -n "$QUERYP" ]; then
INLINE_CSS=",-inline_css"
else
INLINE_CSS="?PageSpeedFilters=-inline_css"
fi
WGET_ARGS="--header=X-PSA-Blocking-Rewrite:psatest"
URL1=$TEST_ROOT/forbid_all_disabled/forbidden.html
URL2=$TEST_ROOT/forbid_all_disabled/disabled/forbidden.html
URL3=$TEST_ROOT/forbid_all_disabled/disabled/cheat/forbidden.html
OUTFILE="$TESTTMP/test_forbid_all_disabled"
# Fetch testing that forbidden filters stay disabled.
echo $WGET $HEADER $URL1$QUERYP$INLINE_CSS
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL1$QUERYP$INLINE_CSS
check egrep -q '<link rel=stylesheet' $OUTFILE
check_not egrep -q '<!--' $OUTFILE
check egrep -q '^<li>' $OUTFILE
echo $WGET $HEADER $URL2$QUERYP$INLINE_CSS
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL2$QUERYP$INLINE_CSS
check egrep -q '<link rel="stylesheet' $OUTFILE
check egrep -q '<!--' $OUTFILE
check egrep -q ' <li>' $OUTFILE
echo $WGET $HEADER $URL3$QUERYP$INLINE_CSS
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL3$QUERYP$INLINE_CSS
check egrep -q '<link rel="stylesheet' $OUTFILE
check egrep -q '<!--' $OUTFILE
check egrep -q ' <li>' $OUTFILE
# Fetch testing that enabling inline_css for disabled/ directory works.
echo $WGET $HEADER $URL1
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL1
check_not egrep -q '<style>.yellow' $OUTFILE
echo $WGET $HEADER $URL2
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL2
check egrep -q '<style>.yellow' $OUTFILE
echo $WGET $HEADER $URL3
$WGET $WGET_ARGS -q -O $OUTFILE $HEADER $URL3
check egrep -q '<style>.yellow' $OUTFILE
rm -f $OUTFILE
WGET_ARGS=""
}
start_test ForbidAllDisabledFilters baseline check.
test_forbid_all_disabled "" ""
start_test ForbidAllDisabledFilters query parameters check.
QUERYP="?PageSpeedFilters="
QUERYP="${QUERYP}+remove_quotes,+remove_comments,+collapse_whitespace"
test_forbid_all_disabled $QUERYP ""
start_test ForbidAllDisabledFilters request headers check.
HEADER="--header=PageSpeedFilters:"
HEADER="${HEADER}+remove_quotes,+remove_comments,+collapse_whitespace"
test_forbid_all_disabled "" $HEADER