ESI Test Server
30 | Welcome
33 |34 | Welcome to the ESI Test Server (ETS). ETS allows you 35 | to view and test content that has been accelerated using Edge Side Includes (ESI). 36 |
37 |
38 |
├── .dockerignore ├── .gitignore ├── BUILDING.md ├── Dockerfile ├── Makefile ├── README.md ├── akamai-ets_6.0.0.9_Ubuntu.tar.gz ├── code-samples ├── ad.html ├── country.html ├── expires.html ├── expires_now.html ├── form1.html ├── geo.html ├── geo │ ├── de │ │ ├── NKZvNiaXdmuN22HSfQwSc.js │ │ ├── akamai.js │ │ ├── akamai_win.css │ │ ├── button3.gif │ │ ├── company.gif │ │ ├── gigaReport_ad3.gif │ │ ├── header.jpg │ │ ├── header_left_bottom.jpg │ │ ├── home_content_bottom.gif │ │ ├── home_content_top.gif │ │ ├── horiz_line_orange.gif │ │ ├── index.html │ │ ├── international.gif │ │ ├── investor_relations.gif │ │ ├── more_info.gif │ │ ├── network1000.jpg │ │ ├── news.gif │ │ ├── partners.gif │ │ ├── press_circle.gif │ │ ├── quote1.jpg │ │ ├── quote_bottom.gif │ │ ├── quote_left.gif │ │ ├── quote_right.gif │ │ ├── search.gif │ │ ├── search_submit.gif │ │ ├── solutions.gif │ │ ├── spacer.gif │ │ ├── stylesheet.js │ │ ├── support.gif │ │ ├── technology.gif │ │ └── top_stories.gif │ ├── description.txt │ ├── fr │ │ ├── NKZvNiaXdmuN22HSfQwSc.js │ │ ├── ab_hd_advant.jpg │ │ ├── ab_hd_left.jpg │ │ ├── akamai.js │ │ ├── akamai_win.css │ │ ├── button3.gif │ │ ├── core_arrow.gif │ │ ├── core_arrow_blue.gif │ │ ├── dot_clear.gif │ │ ├── fr_core_news_hd.gif │ │ ├── fr_n_aa.gif │ │ ├── fr_n_cs.gif │ │ ├── fr_n_cu.gif │ │ ├── fr_n_ia.gif │ │ ├── fr_n_ir.gif │ │ ├── fr_n_nr.gif │ │ ├── fr_n_op.gif │ │ ├── fr_n_sh.gif │ │ ├── fr_n_sv.gif │ │ ├── fr_n_tc.gif │ │ ├── fr_sitesearch2_off.gif │ │ ├── global_logo.gif │ │ ├── home_fr_hd.gif │ │ ├── index.html │ │ └── stylesheet.js │ ├── index.html │ ├── jp │ │ ├── core_arrow_blue.gif │ │ ├── core_content_hd2.gif │ │ ├── core_hd_nav.jpg │ │ ├── core_logo.gif │ │ ├── core_logos_top2.gif │ │ ├── core_main_hd.jpg │ │ ├── dot_clear.gif │ │ ├── index.html │ │ ├── navi_edge.gif │ │ ├── navi_ff.gif │ │ ├── navi_ffstream.gif │ │ ├── navi_getting.gif │ │ ├── navi_ia.gif │ │ ├── navi_news.gif │ │ ├── navi_service.gif │ │ ├── to_us.gif │ │ └── top_news_hd.gif │ └── us │ │ ├── NKZvNiaXdmuN22HSfQwSc.js │ │ ├── akamai.js │ │ ├── akamai_win.css │ │ ├── button3.gif │ │ ├── company.gif │ │ ├── gigaReport_ad3.gif │ │ ├── header.jpg │ │ ├── header_left_bottom.jpg │ │ ├── home_content_bottom.gif │ │ ├── home_content_top.gif │ │ ├── horiz_line_orange.gif │ │ ├── index.html │ │ ├── international.gif │ │ ├── investor_relations.gif │ │ ├── more_info.gif │ │ ├── network1000.jpg │ │ ├── news.gif │ │ ├── partners.gif │ │ ├── press_circle.gif │ │ ├── quote1.jpg │ │ ├── quote_bottom.gif │ │ ├── quote_left.gif │ │ ├── quote_right.gif │ │ ├── search.gif │ │ ├── search_submit.gif │ │ ├── solutions.gif │ │ ├── spacer.gif │ │ ├── stylesheet.js │ │ ├── support.gif │ │ ├── technology.gif │ │ └── top_stories.gif ├── image_rotation.html ├── includebydate.html ├── index.html ├── loop.html ├── loop_body.html ├── page1.html ├── page2.html ├── page3.html ├── page_rotation.html ├── page_rotation_cookie.html ├── quiz.html ├── quote1.gif ├── quote1.jpg ├── quote2.gif ├── quote2.jpg ├── quote3.gif ├── quote3.jpg ├── quote4.gif ├── quote4.jpg ├── quote5.gif ├── quote5.jpg ├── quote6.gif ├── quote7.gif ├── quotes.html ├── random-image.html ├── setcookie.html ├── today.html ├── ua.html ├── utils │ ├── footer.html │ └── viewsource.html ├── web_tour.html └── web_tour_cookie.html ├── dockerimage-tests ├── .gitignore ├── .idea │ ├── .rakeTasks │ ├── dockerimage-tests.iml │ ├── inspectionProfiles │ │ └── Project_Default.xml │ ├── misc.xml │ └── modules.xml ├── .rubocop.yml ├── .ruby-version ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── html │ ├── advanced │ │ ├── insensitive_regex.html │ │ ├── utf8_assignment.html │ │ ├── utf8_querystring.html │ │ ├── utf8_regex_1.html │ │ ├── utf8_regex_2.html │ │ ├── xslt.xml │ │ └── xslt.xsl │ └── basic │ │ ├── akamai-logo.png │ │ ├── geo.html │ │ ├── index.html │ │ ├── sample.html │ │ ├── style.css │ │ └── version.txt └── test │ ├── complex_args_test.rb │ ├── debug_flag_test.rb │ ├── geo_test.rb │ ├── gzip │ ├── docker-compose.yml │ ├── gzip.html │ ├── gzip_test.rb │ └── nginx-gzip │ │ └── Dockerfile │ ├── help_test.rb │ ├── noargs_defaults_test.rb │ ├── regex_test.rb │ ├── remote_origin_test.rb │ ├── short_flags_test.rb │ ├── test_helper.rb │ ├── utf8_test.rb │ └── xslt_test.rb ├── ets-diagram.png ├── licenses ├── Akamai.md ├── Apache.md ├── Curl.md └── NewsCorpAustralia.md ├── playground └── esi_local_playground.conf.tmpl └── run.sh /.dockerignore: -------------------------------------------------------------------------------- 1 | *.dockerimage.* 2 | **/.git 3 | **/.idea -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.dockerimage.* 2 | build.properties 3 | **/.idea -------------------------------------------------------------------------------- /BUILDING.md: -------------------------------------------------------------------------------- 1 | ## Building 2 | Run `make` in this directory. -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # build using make 17 | FROM ubuntu:trusty 18 | 19 | ENV ETS_DIR=/opt/akamai-ets \ 20 | NODE_DIR=/usr/src/app/ 21 | 22 | LABEL vendor="Akamai Technologies, Inc." 23 | 24 | COPY akamai-ets_*.tar.gz run.sh /tmp/ 25 | COPY code-samples /tmp/esi-examples 26 | COPY playground/. /tmp/playground/ 27 | 28 | RUN mkdir -p /tmp/akamai-ets && \ 29 | tar -zxf /tmp/akamai-ets_*.tar.gz -C /tmp/akamai-ets --strip-components=1 && \ 30 | cp -R /tmp/esi-examples /tmp/akamai-ets/files/bindist/virtual/localhost/docs/ && \ 31 | cd /tmp && \ 32 | tar -zcvf /tmp/akamai-ets/files/bindist/virtual/localhost/docs/esi-examples/esi-examples.tar.gz esi-examples > /dev/null 2>&1 && \ 33 | cd /tmp/akamai-ets && \ 34 | ./install.sh --headless && \ 35 | rm -rf /tmp/akamai-ets && \ 36 | rm -rf /tmp/esi-examples && \ 37 | rm -f /tmp/akamai-ets_*.tar.gz && \ 38 | cd /tmp && apt-get install -y curl && \ 39 | curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - && \ 40 | apt-get install -y build-essential g++ python nodejs git && \ 41 | # install playground, using code from https://github.com/newscorpaus/akamai-ets/Dockerfile 42 | cd /tmp && \ 43 | git clone https://github.com/newscorpaus/akamai-ets.git && \ 44 | cd akamai-ets; git checkout 4d3cf03 && \ 45 | mkdir -p ${ETS_DIR}/conf/ets/macros/ && cp files/conf/ets/macros/Playground.macro ${ETS_DIR}/conf/ets/macros/ && \ 46 | cp files/conf/ets/vh_playground.conf ${ETS_DIR}/conf/ets/ && \ 47 | cp -R /tmp/playground/. ${ETS_DIR}/conf/ && \ 48 | mkdir -p ${NODE_DIR} && \ 49 | cp -R ./ ${NODE_DIR} && \ 50 | cd ${NODE_DIR} && \ 51 | # build playground.min.js, and copy it to /home/playground 52 | unset NODE_ENV && npm cache clean && npm install && \ 53 | npm run build && rm -rf node_modules && \ 54 | cp -R public/* /home/ && \ 55 | npm install --production && npm link && \ 56 | rm -rf /tmp/akamai-ets && \ 57 | # end install playground 58 | apt-get remove -y git python g++ build-essential && apt-get autoremove -y && \ 59 | rm -rf /var/lib/apt/lists/* 60 | 61 | EXPOSE 80 62 | 63 | # no default arguments, but this will allow to pass arguments from "docker run ... ARGS" to "/tmp/run.sh ARGS", otherwise "/bin/bash ARGS" will be called 64 | # more at https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact 65 | CMD [""] 66 | 67 | ENTRYPOINT ["/tmp/run.sh"] 68 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | VERSION := $(shell ls akamai-ets_*.tar.gz | grep -Eo "([[:digit:]]\.?)+") 17 | REPO = akamaiesi 18 | NAME = ets-docker 19 | FULL_NAME = ${REPO}/${NAME} 20 | 21 | .FORCE: 22 | 23 | all: build test dist 24 | 25 | build: .FORCE ## Build the docker image 26 | docker build -f Dockerfile -t ${FULL_NAME}:${VERSION} -t ${FULL_NAME}:latest --no-cache . 27 | 28 | test: 29 | (cd dockerimage-tests && rake) 30 | 31 | # This target generally isn't used, but is here in case you wanted to share a local build. 32 | dist: build 33 | docker save ${FULL_NAME} -o ${NAME}.${VERSION}.dockerimage.tar 34 | gzip -f ${NAME}.${VERSION}.dockerimage.tar 35 | -------------------------------------------------------------------------------- /akamai-ets_6.0.0.9_Ubuntu.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akamai/esi-test-server-docker/a35d47f08e435735d90517b50d010cb7895ee69e/akamai-ets_6.0.0.9_Ubuntu.tar.gz -------------------------------------------------------------------------------- /code-samples/ad.html: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 |
19 | 20 | 28 |My IP Address: | |
My Geographical Information | |
Attribute | Value |
Country Code | $(GEO{'country_code'}) |
Region Code | $(GEO{'region_code'}) |
City | $(GEO{'city'}) |
DMA | $(GEO{'dma'}) |
MSA | $(GEO{'msa'}) |
PMSA | $(GEO{'pmsa'}) |
Areacode | $(GEO{'areacode'}) |
Latitude | $(GEO{'lat'}) |
Longitude | $(GEO{'long'}) |
County | $(GEO{'county'}) |
FIPS | $(GEO{'fips'}) |
Timezone | $(GEO{'timezone'}) |
Network | $(GEO{'network'}) |
Network Type | $(GEO{'network_type'}) |
Throughput | $(GEO{'throughput'}) |
Attribute/value pairs | Meaning |
---|---|
Geography | |
country_code | The country_code value is an ISO-3166, 2 letter code for the 123 | country where the IP address maps to. |
region_code | The region_code value is an ISO-3166, 2 letter code for the 126 | state, province, or region where the IP address maps to. |
*city | The city value will be the city (within 50 mile radius) that the 129 | IP address maps to. |
*dma | The dma value will be a number representing the Designated 132 | Marketing Area that the IP address maps to. |
*msa | The msa value will be a number representing the Metropolitan 135 | Statistical Area that the IP address maps to. |
*pmsa | The pmsa value will be a number representing the Primary 138 | Metropolitan Statistical Area that the IP address maps to. |
*areacode | The areacode value will be the area code that the IP address 141 | maps to (multiple answers possible) |
*lat | The lat value will be the latitude that the IP address maps to |
*long | The long value will be the longitude that the IP address maps to |
*county | The county value will be the county that the IP address maps to 148 | (multiple answers possible) |
*fips | The fips value will be the unique county identifier that the IP 151 | address maps to (multiple answers possible) |
*timezone | The timezone value will be the time zone that the IP address 154 | maps to |
Network | |
network | The network value will be the network that the IP address 159 | belongs to. |
network_type | The network type value will be the network type that the IP 162 | address belongs to. |
*throughput | The throughput is the actual measured throughput that the IP 165 | address maps to. |
24 |
27 |
30 |
Request Path | 38 |REQUEST_PATH: |
39 |
Request Method | 42 |REQUEST_METHOD: |
43 |
Query String | 46 |QUERY_STRING: |
47 |
Cookie string | 50 |HTTP_COOKIE: |
51 |
User agent string | 54 |HTTP_USER_AGENT: |
55 |
Geo string | 66 |geo(): |
67 |
Country code | 70 |geo('country_code'): |
71 |
Location | 74 |geo('city'): |
77 |
Cookie string(full) | 89 |cookie(): |
90 |
Cookie string(name) | 93 |cookie('name'): |
94 |
Cookie string(age) | 97 |cookie('age'): |
98 |
Query string | 109 |query-string(): |
110 |
Query string(a) | 113 |query-string('a'): |
114 |
Query string(b) | 117 |akamai:query-string('b'): |
118 |
User Agent - full | 129 |user-agent(): |
130 |
User Agent (browser) | 133 |user-agent('browser'): |
134 |
User Agent (version) | 137 |user-agent('version'): |
138 |
User Agent (os) | 141 |user-agent('os'): |
142 |
My IP Address: | |
My Geographical Information | |
Attribute | Value |
Country Code | $(GEO{'country_code'}) |
Region Code | $(GEO{'region_code'}) |
City | $(GEO{'city'}) |
DMA | $(GEO{'dma'}) |
MSA | $(GEO{'msa'}) |
PMSA | $(GEO{'pmsa'}) |
Areacode | $(GEO{'areacode'}) |
Latitude | $(GEO{'lat'}) |
Longitude | $(GEO{'long'}) |
County | $(GEO{'county'}) |
FIPS | $(GEO{'fips'}) |
Timezone | $(GEO{'timezone'}) |
Network | $(GEO{'network'}) |
Network Type | $(GEO{'network_type'}) |
Throughput | $(GEO{'throughput'}) |
GEO region | $(GEO{'georegion'}) |
34 | Welcome to the ESI Test Server (ETS). ETS allows you 35 | to view and test content that has been accelerated using Edge Side Includes (ESI). 36 |
37 |
38 |
If you see this text, inclusions via ESI from localhost are working.
-------------------------------------------------------------------------------- /dockerimage-tests/html/basic/style.css: -------------------------------------------------------------------------------- 1 | /* Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. */ 15 | 16 | html { 17 | } 18 | body { 19 | background: white; 20 | font-family: Arial; 21 | margin: 0; 22 | padding: 0; 23 | color: #444444; 24 | background-color: rgb(71, 74, 76); 25 | } 26 | .page { 27 | color: #57656e; 28 | background-color: white; 29 | } 30 | .page .content { 31 | margin: 0 auto; 32 | padding: 20px 10px; 33 | max-width: 600px; 34 | font-size: 18px; 35 | } 36 | .header a.akamai { 37 | position: fixed; 38 | top: 50px; 39 | left: 50px; 40 | display: block; 41 | width: 140px; 42 | height: 41px; 43 | background: transparent url(akamai-logo.png) 0 0 no-repeat; 44 | text-decoration: none; 45 | } 46 | .header a.akamai:visited { 47 | } 48 | .header a.akamai span { 49 | color: transparent; 50 | } 51 | 52 | h1 { 53 | font-size: 40px; 54 | color: #0193ce; 55 | background-color: #98D3EE; 56 | background-image:linear-gradient(to right, white 0%, #98D3EE 100%); 57 | text-align: right; 58 | padding: 0 4px; 59 | height: 37px; 60 | } 61 | h2 { 62 | /*color: #E36014;*/ 63 | color: #F1843B; 64 | font-size: 20px; 65 | } 66 | .footer { 67 | color: white; 68 | background-color: rgb(71, 74, 76); 69 | text-align: right; 70 | font-size: 11px; 71 | padding: 30px 100px; 72 | } -------------------------------------------------------------------------------- /dockerimage-tests/html/basic/version.txt: -------------------------------------------------------------------------------- 1 | 6.0.0.6 2 | -------------------------------------------------------------------------------- /dockerimage-tests/test/complex_args_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | require './test/test_helper' 19 | 20 | class ComplexArgsTest < Minitest::Test 21 | def test_multiple_remote_origins_separate_settings 22 | args = '--remote_origin www.example.com --remote_origin www.example.org ' \ 23 | '--remote_origin esi-examples.akamai.com ' \ 24 | '--geo esi-examples.akamai.com:country_code=JP,city=TOKYO ' \ 25 | '--debug www.example.org' 26 | start_containers(args) 27 | 28 | url = "http://#{HOST_HOSTNAME}:#{@esi_port}" 29 | puts "URL: #{url}" 30 | response = HTTParty.get(url, headers: { 'Host' => 'www.example.org' }) 31 | assert_equal(200, response.code) 32 | assert(response.body.include?('/*********************Debugging Section*********************/')) 33 | assert(response.body.downcase.include?('example')) 34 | 35 | url = "http://#{HOST_HOSTNAME}:#{@esi_port}" 36 | puts "URL: #{url}" 37 | response = HTTParty.get(url, headers: { 'Host' => 'www.example.com' }) 38 | assert_equal(200, response.code) 39 | assert(response.body.downcase.include?('example')) 40 | 41 | url = "http://#{HOST_HOSTNAME}:#{@esi_port}/viewsource/geo.html" 42 | puts "URL: #{url}" 43 | response = HTTParty.get(url, headers: { 'Host' => 'esi-examples.akamai.com' }) 44 | assert_equal(200, response.code) 45 | assert(response.body.include?('TOKYO')) 46 | assert(response.body.include?('JP')) 47 | end 48 | end 49 | -------------------------------------------------------------------------------- /dockerimage-tests/test/debug_flag_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | require './test/test_helper' 19 | 20 | class DebugUsageTest < Minitest::Test 21 | def setup 22 | start_containers("--debug #{DEFAULT_APACHE_HOST}") 23 | end 24 | 25 | def test_esi_debug_works 26 | url = "http://#{HOST_HOSTNAME}:#{@esi_port}/basic/" 27 | puts "URL: #{url}" 28 | response = HTTParty.get(url) 29 | assert_equal(200, response.code) 30 | assert(response.body.include?('/*********************Debugging Section*********************/')) 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /dockerimage-tests/test/geo_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | require './test/test_helper' 19 | 20 | class GeoTest < Minitest::Test 21 | def test_geo_can_be_disabled 22 | start_containers("--geo #{DEFAULT_APACHE_HOST}:off") 23 | url = "http://#{HOST_HOSTNAME}:#{@esi_port}/basic/geo.html" 24 | puts "URL: #{url}" 25 | response = HTTParty.get(url) 26 | assert_equal(200, response.code) 27 | 28 | geo_values = %w(246 US CA SANJOSE 807 7400 408 SANTACLARA 06085 37.3353 -121.8938 PST dialup) 29 | geo_values.each { |val| assert(!response.body.include?(val), "Value #{val} found in output when it should be absent") } 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /dockerimage-tests/test/gzip/docker-compose.yml: -------------------------------------------------------------------------------- 1 | # Copyright 2017 Akamai Technologies, Inc. All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | version: '2' # older version for broader compat 17 | services: 18 | ets: 19 | image: "akamaiesi/ets-docker:latest" 20 | environment: 21 | - ETS_CLI_ARGS=--remote_origin origin --debug origin 22 | links: 23 | - origin 24 | ports: 25 | - 80 26 | origin: 27 | build: nginx-gzip 28 | image: "nginx-gzip" 29 | volumes: 30 | - .:/usr/share/nginx/html -------------------------------------------------------------------------------- /dockerimage-tests/test/gzip/gzip.html: -------------------------------------------------------------------------------- 1 | 16 |