Remove old tsqa, and replace it with the new python based one. This includes a move of the actual tests as well as a replacement of the jenkins script.
TS-3574 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/51ea4aa9 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/51ea4aa9 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/51ea4aa9 Branch: refs/heads/master Commit: 51ea4aa9d81ae8d93c7e7e137cb0aca178497b01 Parents: e895bcc Author: Thomas Jackson <jackso...@apache.org> Authored: Thu Apr 30 13:35:57 2015 -0700 Committer: Thomas Jackson <jackso...@apache.org> Committed: Thu Apr 30 13:39:30 2015 -0700 ---------------------------------------------------------------------- ci/jenkins/bin/tsqa.sh | 37 +- ci/new_tsqa/Makefile | 43 -- ci/new_tsqa/TODO | 7 - ci/new_tsqa/files/cert.pem | 20 - ci/new_tsqa/files/ec_keys/README.rst | 29 -- ci/new_tsqa/files/ec_keys/ca.crt | 12 - ci/new_tsqa/files/ec_keys/ca.key | 8 - ci/new_tsqa/files/ec_keys/intermediate.crt | 10 - ci/new_tsqa/files/ec_keys/intermediate.key | 8 - ci/new_tsqa/files/ec_keys/www.example.com.pem | 15 - ci/new_tsqa/files/ec_keys/www.test.com.pem | 15 - ci/new_tsqa/files/key.pem | 28 -- ci/new_tsqa/files/rsa_keys/README.rst | 28 -- ci/new_tsqa/files/rsa_keys/ca.crt | 30 -- ci/new_tsqa/files/rsa_keys/ca.key | 51 --- ci/new_tsqa/files/rsa_keys/intermediate.crt | 29 -- ci/new_tsqa/files/rsa_keys/intermediate.key | 51 --- ci/new_tsqa/files/rsa_keys/www.example.com.pem | 52 --- ci/new_tsqa/files/rsa_keys/www.test.com.pem | 52 --- ci/new_tsqa/requirements.txt | 6 - ci/new_tsqa/tests/helpers.py | 56 --- ci/new_tsqa/tests/test_buildoptions.py | 61 --- ci/new_tsqa/tests/test_chunked.py | 196 -------- ci/new_tsqa/tests/test_connect_attempts.py | 209 --------- ci/new_tsqa/tests/test_example.py | 234 ---------- ci/new_tsqa/tests/test_hostdb.py | 86 ---- ci/new_tsqa/tests/test_https.py | 273 ----------- ci/new_tsqa/tests/test_keepalive.py | 476 -------------------- ci/new_tsqa/tests/test_redirection.py | 41 -- ci/new_tsqa/tests/test_regressions.py | 82 ---- ci/new_tsqa/tests/test_remap.py | 125 ----- ci/new_tsqa/tests/test_spdy_protocol_select.py | 156 ------- ci/tsqa/Makefile | 43 ++ ci/tsqa/TODO | 7 + ci/tsqa/files/cert.pem | 20 + ci/tsqa/files/ec_keys/README.rst | 29 ++ ci/tsqa/files/ec_keys/ca.crt | 12 + ci/tsqa/files/ec_keys/ca.key | 8 + ci/tsqa/files/ec_keys/intermediate.crt | 10 + ci/tsqa/files/ec_keys/intermediate.key | 8 + ci/tsqa/files/ec_keys/www.example.com.pem | 15 + ci/tsqa/files/ec_keys/www.test.com.pem | 15 + ci/tsqa/files/key.pem | 28 ++ ci/tsqa/files/rsa_keys/README.rst | 28 ++ ci/tsqa/files/rsa_keys/ca.crt | 30 ++ ci/tsqa/files/rsa_keys/ca.key | 51 +++ ci/tsqa/files/rsa_keys/intermediate.crt | 29 ++ ci/tsqa/files/rsa_keys/intermediate.key | 51 +++ ci/tsqa/files/rsa_keys/www.example.com.pem | 52 +++ ci/tsqa/files/rsa_keys/www.test.com.pem | 52 +++ ci/tsqa/functions | 303 ------------- ci/tsqa/requirements.txt | 6 + ci/tsqa/run_all.sh | 85 ---- ci/tsqa/test-bootstrap | 41 -- ci/tsqa/test-log-configuration | 68 --- ci/tsqa/test-log-refcounting | 112 ----- ci/tsqa/test-multicert-loading | 81 ---- ci/tsqa/test-privilege-elevation | 83 ---- ci/tsqa/test-server-intercept | 80 ---- ci/tsqa/test-ssl-certificates | 153 ------- ci/tsqa/test-trafficline-metrics | 56 --- ci/tsqa/tests/helpers.py | 57 +++ ci/tsqa/tests/test_buildoptions.py | 61 +++ ci/tsqa/tests/test_chunked.py | 196 ++++++++ ci/tsqa/tests/test_connect_attempts.py | 209 +++++++++ ci/tsqa/tests/test_example.py | 234 ++++++++++ ci/tsqa/tests/test_hostdb.py | 86 ++++ ci/tsqa/tests/test_https.py | 273 +++++++++++ ci/tsqa/tests/test_keepalive.py | 476 ++++++++++++++++++++ ci/tsqa/tests/test_redirection.py | 41 ++ ci/tsqa/tests/test_regressions.py | 82 ++++ ci/tsqa/tests/test_remap.py | 125 +++++ ci/tsqa/tests/test_spdy_protocol_select.py | 156 +++++++ 73 files changed, 2494 insertions(+), 3584 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/jenkins/bin/tsqa.sh ---------------------------------------------------------------------- diff --git a/ci/jenkins/bin/tsqa.sh b/ci/jenkins/bin/tsqa.sh index 2de29ec..ca7f895 100755 --- a/ci/jenkins/bin/tsqa.sh +++ b/ci/jenkins/bin/tsqa.sh @@ -16,40 +16,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -# This does intentionally not run the regressions, it's primarily a "build" test - -# Test if we should enable CPPAPI (only 5.0 and later for now) -enable_cppapi="--enable-cppapi" -test "${JOB_NAME#*-4.2.x}" != "${JOB_NAME}" && enable_cppapi="" - -# Where do we run this? -TS_PREFIX="/opt/jenkins/${JOB_NAME}" -TSQA_TSXS=${TS_PREFIX}/bin/tsxs; export TSQA_TSXS - -cd "${WORKSPACE}/src" - -rm -rf ${TS_PREFIX} - -# This needs to be added back when we resolve all debug build issues -autoreconf -fi -./configure \ - --prefix=${TS_PREFIX} \ - --enable-debug \ - --enable-ccache \ - --enable-werror \ - --enable-experimental-plugins \ - --enable-test-tools \ - ${enable_cppapi} - -${ATS_MAKE} -j8 -${ATS_MAKE} install -${ATS_MAKE} distclean - -# Run all the TSQA tests. We skip a couple since they can not succeed from the CI +# Run all the TSQA tests. +TSQA_LAYOUT_DIR="${WORKSPACE}/${BUILD_NUMBER}" cd ci/tsqa || exit 2 -rm -rf /tmp/test-*.[0-9]* -./run_all.sh -e test-multicert-loading -e test-privilege-elevation +make test status=$? -# Exit with proper status, right now there's only one test, but still +# Exit with proper status exit $status http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/Makefile ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/Makefile b/ci/new_tsqa/Makefile deleted file mode 100644 index a46a684..0000000 --- a/ci/new_tsqa/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -.PHONY: test clean update - -VIRTUALENV_DIR = virtualenv - -# Run all tests. -test: $(VIRTUALENV_DIR) - @source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/nosetests -sv --logging-level=INFO - -# Scan and list the tests. -list: $(VIRTUALENV_DIR) - @source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/nosetests -v --collect-only - -# Construct the virtualenv. -$(VIRTUALENV_DIR): - @if [ ! -d $(VIRTUALENV_DIR) ]; then\ - virtualenv $(VIRTUALENV_DIR);\ - fi - @# Update the virtualenv with your dep libraries - source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/pip install -r requirements.txt - @echo "Virtualenv ready!" - -# Update the virtualenv with the latest TSQA package and dependencies. -update: $(VIRTUALENV_DIR) - source $(VIRTUALENV_DIR)/bin/activate && $(VIRTUALENV_DIR)/bin/pip install --upgrade -r requirements.txt - -clean: - rm -rf virtualenv http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/TODO ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/TODO b/ci/new_tsqa/TODO deleted file mode 100644 index c01205b..0000000 --- a/ci/new_tsqa/TODO +++ /dev/null @@ -1,7 +0,0 @@ -# TODO list for tsqa - -- runtests script - - run specific things within the virtualenv - - package up output from specific tests in a relocateable way -- Documentation/Examples of TSQA framework -- pylint for test cases http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/cert.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/cert.pem b/ci/new_tsqa/files/cert.pem deleted file mode 100644 index fcac091..0000000 --- a/ci/new_tsqa/files/cert.pem +++ /dev/null @@ -1,20 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDVzCCAj+gAwIBAgIJAOY9Arrh4/IgMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNV -BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg -Q29tcGFueSBMdGQwHhcNMTUwMTIyMDE1MjU3WhcNMTUwMjIxMDE1MjU3WjBCMQsw -CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh -dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -08GU61mR18JO9X20utgemoeeYyKx+LXZYQBc0cKwHzZIiYfokwCkCNekMjZ87DT2 -+++8lBf3PatSgtA8/xanr8+TTDbKPehqdItDAy9e/xYgPBz9RXHuBUeOw+CPxt2e -aGrGwy6ybW3jne/+vm73wn+ZzldpwGGXwIQAS9lFqtmisx/DftL8fhzpfp/uIU/K -Y33iMiPpEHi8CHrOsaREl787ipKoqfxs+d1JNTHu1I+wJKgppOrtyjF1AjYDmrRg -RO8rJqIaUKS+8teV2KazwfdPkgNyaoZO7NCPPEjWkbp2c+2AJQqCSyZmJ63idgkR -msaSjRx45vJPOU/KFVHLuQIDAQABo1AwTjAdBgNVHQ4EFgQUtL1CTVRABxDQVbZy -WwOZWMCs08QwHwYDVR0jBBgwFoAUtL1CTVRABxDQVbZyWwOZWMCs08QwDAYDVR0T -BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAComsgXv9V7utk6yY1XV+rtjZmyRV -758Jjzb2sqqVtw8jtEvdiO6rK+Chb49cAcBGJFHZL2/CJ6BWSOf79fLj/IGKC/nX -UBz0dxrlg9x/KR/Jtp0qqQXIw/HT/NvaytYxMIBKqkmjG+kWiPn61dvwFjIERPOb -xM4lHhaO/PKWDDVx6Sf7UzMalmwFjaGQFXCNM5dfqvdqDYYrbZwEWuqmxNy1sZBY -SfY7Tyz6OP9NnlgtWRAITPqBS2kx/MVCGd2TtzJcJDxKK67tr0QFenGtXSZy555Q -bNKjXKVWiHrVCEgttPri22o7Ax1Q6FpLHMXDIiveUl6aXq4ulNzRqXpmaw== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/README.rst ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/README.rst b/ci/new_tsqa/files/ec_keys/README.rst deleted file mode 100644 index c3dd1e1..0000000 --- a/ci/new_tsqa/files/ec_keys/README.rst +++ /dev/null @@ -1,29 +0,0 @@ -All of these certificates are self-signed and are *not* secure. They are intended -only for use in testing. - -Try to use existing certs if possible rather than generating your own. - -# generated using (make sure to set "hostname"): -openssl ecparam -name prime256v1 -genkey -out key.pem -openssl req -new -x509 -key key.pem -out cert.pem - - -## Since we want to verify all of the certificate verification, we need to generate -## our own CA and intermediate CA -# Create CA -openssl ecparam -name prime256v1 -genkey -out ca.key -openssl req -new -x509 -nodes -sha1 -days 1825 -key ca.key -out ca.crt - -# Create Intermediate -openssl ecparam -name prime256v1 -genkey -out intermediate.key -openssl req -new -sha1 -key intermediate.key -out intermediate.csr - -# CA signs Intermediate -openssl x509 -req -days 1825 -in intermediate.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out intermediate.crt - -# Create Server -openssl ecparam -name prime256v1 -genkey -out www.example.com.key -openssl req -new -key test.example.com.key -out test.example.com.csr - -# Intermediate signs Server -openssl x509 -req -days 1825 -in test.example.com.csr -CA intermediate.crt -CAkey intermediate.key -set_serial 01 -out test.example.com.crt http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/ca.crt ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/ca.crt b/ci/new_tsqa/files/ec_keys/ca.crt deleted file mode 100644 index a70f990..0000000 --- a/ci/new_tsqa/files/ec_keys/ca.crt +++ /dev/null @@ -1,12 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIByDCCAW6gAwIBAgIJAP0vC/lirtMJMAkGByqGSM49BAEwQTELMAkGA1UEBhMC -WFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMQ0wCwYDVQQD -DARyb290MB4XDTE1MDQxMzIwMTEwMloXDTIwMDQxMTIwMTEwMlowQTELMAkGA1UE -BhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMQ0wCwYD -VQQDDARyb290MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVRCzxLeGp2zzqqz6 -YTHRJ+sTuEzrFNUUQX/sEb4s1uceiqtTgFJ8kglWGMk/3WIC09PF4aRvkXM+xVvx -U9EcaKNQME4wHQYDVR0OBBYEFF9E7e3RCj6b4rQeNVTnNHGgRhzvMB8GA1UdIwQY -MBaAFF9E7e3RCj6b4rQeNVTnNHGgRhzvMAwGA1UdEwQFMAMBAf8wCQYHKoZIzj0E -AQNJADBGAiEAtKiG3JParqhQz1N+QOGKJtbgFS/qwNpK9FanbC6MOLQCIQD+heQN -eow8AF4hAUZNYvxyhZDd5FKzF2kRdxJUGkZK8w== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/ca.key ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/ca.key b/ci/new_tsqa/files/ec_keys/ca.key deleted file mode 100644 index 275e3e9..0000000 --- a/ci/new_tsqa/files/ec_keys/ca.key +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN EC PARAMETERS----- -BggqhkjOPQMBBw== ------END EC PARAMETERS----- ------BEGIN EC PRIVATE KEY----- -MHcCAQEEIKR1N01PYCnkwa07tTnZ3Ri6dsGxu/OlTmExDWS1JIt6oAoGCCqGSM49 -AwEHoUQDQgAEVRCzxLeGp2zzqqz6YTHRJ+sTuEzrFNUUQX/sEb4s1uceiqtTgFJ8 -kglWGMk/3WIC09PF4aRvkXM+xVvxU9EcaA== ------END EC PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/intermediate.crt ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/intermediate.crt b/ci/new_tsqa/files/ec_keys/intermediate.crt deleted file mode 100644 index 2a2fc1d..0000000 --- a/ci/new_tsqa/files/ec_keys/intermediate.crt +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIBcTCCARcCAQEwCQYHKoZIzj0EATBBMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM -RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxDTALBgNVBAMMBHJvb3QwHhcNMTUw -NDEzMjAxMTQ4WhcNMjAwNDExMjAxMTQ4WjBJMQswCQYDVQQGEwJYWDEVMBMGA1UE -BwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVk -aWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCLloHhXc49EwEI94gb6186J -zp5mHmEBD49I3pFuQwkVLu249uCsyEnjhoAlMohC/Oc/ROtvZTnujcdBZ2OBh4cw -CQYHKoZIzj0EAQNJADBGAiEAzevMu2yohbN5dzRp5/TTxKSOrenLh56jtSJrtFai -/wUCIQDV40abfGSiioLyb5PoyJRPa6M+AhWbK9caa2SQei+KnQ== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/intermediate.key ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/intermediate.key b/ci/new_tsqa/files/ec_keys/intermediate.key deleted file mode 100644 index bb1cdc5..0000000 --- a/ci/new_tsqa/files/ec_keys/intermediate.key +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN EC PARAMETERS----- -BggqhkjOPQMBBw== ------END EC PARAMETERS----- ------BEGIN EC PRIVATE KEY----- -MHcCAQEEIMtffsDv9JDl4AFznb1ftzA8IqIVxA344PSpyZU6PfA/oAoGCCqGSM49 -AwEHoUQDQgAEIuWgeFdzj0TAQj3iBvrXzonOnmYeYQEPj0jekW5DCRUu7bj24KzI -SeOGgCUyiEL85z9E629lOe6Nx0FnY4GHhw== ------END EC PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/www.example.com.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/www.example.com.pem b/ci/new_tsqa/files/ec_keys/www.example.com.pem deleted file mode 100644 index ee31b56..0000000 --- a/ci/new_tsqa/files/ec_keys/www.example.com.pem +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MHcCAQEEIGCAR+s6Sno+AteQgnMBOsS7sD4EbSxGN7anPQaossvkoAoGCCqGSM49 -AwEHoUQDQgAEwNOf/ym+XidKYjQg2WDM3GPK2eMbRz2VmvdB4dbzBxQ4gMYCIl2l -2L7lLqGtmUcuUhDaOxf91hhXAfprU+qRvA== ------END EC PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIIBfDCCASICAQEwCQYHKoZIzj0EATBJMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM -RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVkaWF0 -ZTAeFw0xNTA0MTMyMDEzMjlaFw0yMDA0MTEyMDEzMjlaMEwxCzAJBgNVBAYTAlhY -MRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzEYMBYGA1UEAwwP -d3d3LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwNOf/ym+ -XidKYjQg2WDM3GPK2eMbRz2VmvdB4dbzBxQ4gMYCIl2l2L7lLqGtmUcuUhDaOxf9 -1hhXAfprU+qRvDAJBgcqhkjOPQQBA0kAMEYCIQCU7CxO/zdFc4BDUCHO07wVuFe7 -RyiVVJs4llEZTXoBiAIhAIwrXtE2psZBRx/TE7miPunqa+1E4IxrtWn2fkzJyJ57 ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/ec_keys/www.test.com.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/ec_keys/www.test.com.pem b/ci/new_tsqa/files/ec_keys/www.test.com.pem deleted file mode 100644 index e519276..0000000 --- a/ci/new_tsqa/files/ec_keys/www.test.com.pem +++ /dev/null @@ -1,15 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MHcCAQEEILVRI/Y9isXZJKXwb4srPN4hjx+ZUWGmSL3cn8AEhTVQoAoGCCqGSM49 -AwEHoUQDQgAEh4NjyzcxA2B/b281cUsRHaF+yAUV4CnIhUkPQigXw10GO9lQx69w -of7PjZkJRdeBlEMBVUcwTKEuENMZ7a3+Tw== ------END EC PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIIBdzCCAR8CAQEwCQYHKoZIzj0EATBJMQswCQYDVQQGEwJYWDEVMBMGA1UEBwwM -RGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNVBAMMDGludGVybWVkaWF0 -ZTAeFw0xNTA0MTMyMDEzMzZaFw0yMDA0MTEyMDEzMzZaMEkxCzAJBgNVBAYTAlhY -MRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzEVMBMGA1UEAwwM -d3d3LnRlc3QuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh4NjyzcxA2B/ -b281cUsRHaF+yAUV4CnIhUkPQigXw10GO9lQx69wof7PjZkJRdeBlEMBVUcwTKEu -ENMZ7a3+TzAJBgcqhkjOPQQBA0cAMEQCIH083uGRd7b1crw6TH8paBZNeliJTiFU -eg6lrnGEVIKpAiBtCERpWAlJhYBrR5ApPp6jSoM+Zk6YfswUSg2YR7c4Sg== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/key.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/key.pem b/ci/new_tsqa/files/key.pem deleted file mode 100644 index fddcacb..0000000 --- a/ci/new_tsqa/files/key.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDTwZTrWZHXwk71 -fbS62B6ah55jIrH4tdlhAFzRwrAfNkiJh+iTAKQI16QyNnzsNPb777yUF/c9q1KC -0Dz/Fqevz5NMNso96Gp0i0MDL17/FiA8HP1Fce4FR47D4I/G3Z5oasbDLrJtbeOd -7/6+bvfCf5nOV2nAYZfAhABL2UWq2aKzH8N+0vx+HOl+n+4hT8pjfeIyI+kQeLwI -es6xpESXvzuKkqip/Gz53Uk1Me7Uj7AkqCmk6u3KMXUCNgOatGBE7ysmohpQpL7y -15XYprPB90+SA3Jqhk7s0I88SNaRunZz7YAlCoJLJmYnreJ2CRGaxpKNHHjm8k85 -T8oVUcu5AgMBAAECggEBANFqt8kNGtPDIW1c9Vh3FcUDbFtkW5e42BM7VZBItv8X -IyOIWjTPRGpOQN87zc2YD85WaCwZi3TcsswV/szTbeDMK0MLSHVzHZzGgO5scclZ -62Un0j5Uju1/uCv1MJueXuOq/YjX7LOWIq32Q/u3KKWcpdJP1pDgs0A8C0L3zBNK -PjxnCO0FvJdcpqajEhtepYyTQAtWm/igWbuFgUcfZ55HTOBfBiLdACh6anbCdDJ8 -f2COFRrKu9Gn9mVyRirbyCa4B3VSj4R+WlKsc3erR2vNiEdJLd9x5OK7ZvMFHTvG -V4BhWt3ffSBRIaVi0pIpYekWbnXjbqY6zjchiy3ruOUCgYEA6W4yBrbExJmelXCj -dPOp5Ds/uAYaq9TkRLWzX837swPNh1+XJ9xGNgn4d5DbikN1xSdsJO/1dpwk3Uxg -qE/tEvA2gip/DaxIcj3PfoPtFyebgZItvs5k97zGw9n0bgqoRAezzUl4Guz4AQVV -Xz+3gICN1lFhRqxKm7Pt8Kc3D5cCgYEA6DrpLJCzOEd8qlhm6w7UGruBRA+QLACu -zlqzkf4rw1vaXx4cP8ctoCiVWUIsPI0mD2sQvtXAPT8KzZqh3UCu1zyyochyCuVg -C3fBQiSDtUb2Uk6u7fNFrn36oN7W/Q+sarJvIIECR1PjEGuT3eJppQgJB/VGUZqa -OQJyTJPXaS8CgYEAskz8o0o51F3u1wEZqbxw+acUDbGD79qGncEYiUZiSqPN+uhW -IhlL+/zzsAiS2PKcY4KwRSqRGQ89zVeIwSeD06JuUFC7iaseDz0NX/rPP49+ZaNN -k+A9GUo1nOW/oco8KvKjMVw8BH0bFlSHmGCn/tyy+pBguEXkGzh9uANRuHMCgYAM -TZKs2b2k7aSdIbHSIib6g5SFlo18x0x7gjKhOWX4I5WeFGpKtrKkGYJQCEFvs8qg -ZnusoIZeuEhKPDb3EcYxgPW1vHjOOvirotyKNIUFxYynL6P01z6J0ALHIwcgwQPR -Y0Kf5jXIsZkF9a0PxD70j0hrM4NWL2qcOpTzmaF/4QKBgFYQVrrI6YBxexKQ4J/m -tG/OKlxef6mzrctu7RJGxzt9ag1IgOi10BMCIKCW7tfvhzzLuBiJ0imEGe+MYrau -yIWCOVpmwcSnww8bV/25oqRxduVwZzmtZdUJbNSdiZ7jq4tsV9a8TZXts45veSFQ -X+HWsoFkRoYLOx96mqN94/ZS ------END PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/README.rst ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/README.rst b/ci/new_tsqa/files/rsa_keys/README.rst deleted file mode 100644 index 9fb6a8d..0000000 --- a/ci/new_tsqa/files/rsa_keys/README.rst +++ /dev/null @@ -1,28 +0,0 @@ -All of these certificates are self-signed and are *not* secure. They are intended -only for use in testing. - -Try to use existing certs if possible rather than generating your own. - -# generated using (make sure to set "hostname"): -openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes && cat key.pem cert.pem > keypair.pem && rm key.pem cert.pem - - -## Since we want to verify all of the certificate verification, we need to generate -## our own CA and intermediate CA -# Create CA -openssl genrsa -out ca.key 4096 -openssl req -new -x509 -nodes -sha1 -days 1825 -key ca.key -out ca.crt - -# Create Intermediate -openssl genrsa -out intermediate.key 4096 -openssl req -new -sha1 -key intermediate.key -out intermediate.csr - -# CA signs Intermediate -openssl x509 -req -days 1825 -in intermediate.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out intermediate.crt - -# Create Server -openssl genrsa -out test.example.com.key 4096 -openssl req -new -key test.example.com.key -out test.example.com.csr - -# Intermediate signs Server -openssl x509 -req -days 1825 -in test.example.com.csr -CA intermediate.crt -CAkey intermediate.key -set_serial 01 -out test.example.com.crt http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/ca.crt ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/ca.crt b/ci/new_tsqa/files/rsa_keys/ca.crt deleted file mode 100644 index b0ce838..0000000 --- a/ci/new_tsqa/files/rsa_keys/ca.crt +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFNzCCAx+gAwIBAgIJAL8yIx0Q66ZXMA0GCSqGSIb3DQEBBQUAMDIxCzAJBgNV -BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzAeFw0x -NTA0MTMxODQ5NTNaFw0yMDA0MTExODQ5NTNaMDIxCzAJBgNVBAYTAlhYMRUwEwYD -VQQHDAxEZWZhdWx0IENpdHkxDDAKBgNVBAoMA0FUUzCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANYzN4s+B8KAbPxdpMzoVh+xsgPeauothjQq8tQmViT5 -3bnEf7zb+4Wy/7Y9CLj2CSnf6tv271OVwVQZWlDrmqr6greUePz28j3/sJ/lQ9bR -aZOWQI3d4rgCy6UdJ6rhD2BYrZVFnIZQ5zVZu3rbUBuPwBuRQdTLOWjzcSguyg2R -jiJ/W2/IToRjgX27cPPArhJQ2ibwsbtvqecj1lQfT5yg8WEDeeOyYwzfT4VEGm7f -8Q4qrBKxhdRTF6LhNkVKkOM6Jvvq7ULNpSAh1+zFAfzMpPUt1T+sjObQ0HHMeh0J -ghwOh8OAqFyMAsNdzFwjz4lSrliTMYoq6JdK0In5FUqlCt5RsKrfxsykhvUb66/R -+a9uGboEMlce/sZcxSpnDJYOmxrecQYmEaoKhbIcJBrRqYMgyQL9X+JJfsdyKR2V -CbSV0FjHeybpOwl76QGoZPhRy2e551uqKN0qdQMmfI3ZjZqmN1EuuOcRNKU8r0He -AOTRZ2BssDfvs/YWgZsKoHqoLIQCGgWw1ZhsK8bhFKKBtBqbyAu995XxhJezbSAg -57+1Icp8qmCWvCO0zxm5ckCRNICxGolT/0Mi5Cl8hmfbx9Gv4Na/KEcxpKLPy43t -UUqfCtvGOUE/S6TWleL5YII4mI86fIOHFkAozdeokcF54lhENpcLL3R5ggRiBJ83 -AgMBAAGjUDBOMB0GA1UdDgQWBBTMx2X9hPjXNTOKTSQELEBv4pEHADAfBgNVHSME -GDAWgBTMx2X9hPjXNTOKTSQELEBv4pEHADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3 -DQEBBQUAA4ICAQCZ+B8wevb1DsA0XsGkBIHrAK2zc4u54nIhVEw/6PnJBBpV5Eha -rKtamhyeBjKt1267SaoQIWy/os9QlEYmn2AKn7J0rxqokowr0r8jdh4nDDeCGGkb -g7ieinIpuUr5Unpp+J+9/FXtrX1m5sXuHlMao9eTK86NoXPJgt4z4HQd1ZaEJp5s -H60PVd93TwcIDQjbsGdpFS7LhtYSx5Np/LmrQj0tnt18AUh1SgVwvtAqiSsyhxFa -yPBZKIsdbNQkPoaIKQovCg0cRjlRr1XAk+cfRbf8OUmS1JMs1+/b0zX0kk9xynhj -4CUPxsVy4SnOeg95yPB8BEyvU1uxnflq3QTJsSxcePYte5ni1wx8Vbn7cJusJRYK -LNaEFq/nkFxAlP4PTkv9mGq7ZYLqwpE9s6rPmJZc37ti0OUmLiVpqk6DtN5x/TD2 -vKeZMupGCWF71kueR4QAClEnDHe6/lKqe7CH3OuY8bA+7N0RNrEqUBJ7qnD6Frcu -UfmrkZcIj6DWSnpfwL884WoSCkYuyYP/v+PhR5fSao3l7ZB9UQXdXYhx/Kyd3lPZ -DKSZjOthCm1dblzKLK4VHy0dmAQdIczIXY6ztIKUY8z0poMNiyJEGeYYPf5jjxU4 -Q2u9W/ReEaza6HshFnoka4IZqlfLinWRoAt92rA+nFIShaBBimvc32kHrQ== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/ca.key ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/ca.key b/ci/new_tsqa/files/rsa_keys/ca.key deleted file mode 100644 index d892296..0000000 --- a/ci/new_tsqa/files/rsa_keys/ca.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/intermediate.crt ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/intermediate.crt b/ci/new_tsqa/files/rsa_keys/intermediate.crt deleted file mode 100644 index eacc2b9..0000000 --- a/ci/new_tsqa/files/rsa_keys/intermediate.crt +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE7zCCAtcCAQEwDQYJKoZIhvcNAQEFBQAwMjELMAkGA1UEBhMCWFgxFTATBgNV -BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMB4XDTE1MDQxMzIwMDI0M1oX -DTIwMDQxMTIwMDI0M1owSTELMAkGA1UEBhMCWFgxFTATBgNVBAcMDERlZmF1bHQg -Q2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1lZGlhdGUwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDe2tfo88v44Tl9TATixb5qmBobnAy/ -oYpaX2St28qNuAC47ftkFaE+4zZIN8IeOAKkMC29ZVxOhXoNWovu4aa9PXdnmatQ -M/vezta451JE7lVQK0q6dViGyeevBkumgQ2TD+Kj6R2uH5zHDSSVEWEJIb8rTb5i -1pA4pF4ZLMBLAoZwrQfH9xjNZWSi7UJ0g1eYwRh5ahjl2SBRxSrH6GEUBCuI7S1o -AvUvj0aDVXmPJEuyrkvw1u566g7DyQ242SnqdZnHVP17g1YmqCbq6qxipb6YKOke -LBOL1zMKjdVQ3QAbw7Y7RBFcVUdUvoh4uL+IoWr+A8s99OxUhz2kEXU+gjwJtOOR -keZGzMo9rA9cProwHC414Q++Ct0YhUAO2vTjEhnEvlJFv8cGRYT/Oifwrxny6KTA -kC+4gwgrJgWR9DHeL814aTnotRUGLLsZAeo+O0al3/0QlN09XDFstkmn/mgaCmbF -LN9dqwvg1gwS5Hbd+vdlguhcx5mlaI+jZp29CBwBdkkKVAns/3Tne+KpwJIsdRMp -es+ajkFEZoOc6GVBrW/BjxQ6JBgQA6R4//eWunbMYfhkNY5l9SS1qZak1j9+qWAX -JcSQVbUxgRSe01MzIqScc2btB8WJbi/IJp+hcdFLDzKYIolT7mRm8Xu6j3M6YF7E -UaOuyRqoRiIr/wIDAQABMA0GCSqGSIb3DQEBBQUAA4ICAQCk4HQOq4A9cwmrPVk6 -vqR8CmRYiStM76RmLqX3XeVx1GybfvZzK/WYLcwInmXD4iitQflB9S0Ut0ChuLKo -klj10wdAv6iNrRMUtmY9w8zV8GSLRHZrOo6Rd0affUNjBy79FaNypmdrydc8+M7L -pGWKVN4qN5cOs/XLFT2TFk8davnyFOucP7kxWeNiZ38Kh8cAYYkovMpfcEJSrMGS -musUqvAlPVZXDgBjblVHjZ2dvgRCdYFwrMxo14SALOmM1Hi7oWbX5A8uNdeoq8lB -mwdUBpdWDm6IgJ2aiufOqBV3Mv6AUysLE+qHdP/lTHIHNc0LinuJK10F/jqbf9uY -gzETU6HT1gQ3X3noDRB2vMMPJQOx8uQX04dfUx8WOmgwCx1X5Vc8gLhH+JbZz1PZ -GlWgX5VGiGgLkq+rgQBLOLIe/NAnUCXPG78DttQpWMs8JjxEcgnVjLNZNAaWymAl -U3JzmbX5UZePwEMjKSjKNDraU3Tuq+QTdPr+W2ilJEsLLPbsenc1QTNsPUv5aI8h -LaayTP7aWMVg0QFfV1O7+vVz5ej7CO7Be7w57VWGDwBBVm81vDbeFna4RJPk2qAw -K5wOYak0Z27v+0wBXHaceH0j45fn/lixt7FANv9NhB3krcjrUwUsooMAIsnCKAlK -nQD8ySYdm+OGchPeRVW+MH8FPw== ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/intermediate.key ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/intermediate.key b/ci/new_tsqa/files/rsa_keys/intermediate.key deleted file mode 100644 index 561765f..0000000 --- a/ci/new_tsqa/files/rsa_keys/intermediate.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/www.example.com.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/www.example.com.pem b/ci/new_tsqa/files/rsa_keys/www.example.com.pem deleted file mode 100644 index 4bc273d..0000000 --- a/ci/new_tsqa/files/rsa_keys/www.example.com.pem +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrS3J3uL2MNr1Q -9zL7ODukw8UOHN4AwuWsNSDJzaswrgxtFO3VfJbCfo7CUtojoJY39783m3HnLhPA -cFxfsSgQ0Z8TdUZYtq2I1p/eEp/A6kdQffHS4To0ueYQ8r1I6pMJTniaDi8ICD0d -837WwbUUaxx8IhzaFNPrvSdhJb1LGPxj8YvfKvHF9rkwqpJSEAXFCKTa/H0i8wb8 -h3u4cXZmYN6aooai3SY1KGlWZtAfbgTlMMtvB3ZE3JsNNwbL4gfzxYsfXTW9QUZ2 -kT3irmB80koQjzDiW6MpxmLpvDD/NpQWSiR9TDZYCJtACwWyoxqo8gHZVqsF/rkK -yqkg2cbJAgMBAAECggEAf/ZGtsUdZGdoGdnxDda+R6GvzZEnDy6JYJH3womP/zem -NL7TxQ3jmbvtbaFzL/ZBAeJjyGipOGglfTby6tFu+tF9oo2TVaZyEK00lDMZgIYD -bFAJnN2AG+9bvQF5AcWqveMPGRbLb5aoAX3rHQdr/KrfhqP9JbU1cv/FMT9+H2B7 -Spty/WJYOL6AhzN4H4YHJzfhn2e0iMfA3usu1hha84FWWAR3+Z4sphSCtY+edumT -ygES/j5TAX7nu5Eyqe2L4natuDLXiLEbKEpqyfAg1SmTDqAiHrMtWkWv/e+tdTs8 -+DE+wPVhRCjVyjejjvsgDV/d9B805bbpq7M4eyIh+QKBgQDhHPcd+b5KZdXU/PiC -GQ/5C9elW35t7D8gaCzLAzoxW7B/PnTmVyK+QPBsxaUNg87BxB0TTssNUulSY2nk -TVemOe57xdJKiX7nOG+9vIZFGxlzqywMz0o6kZe3No8PAcp91K7Xr3RkXdHHwyZY -+NDiUIeMptEnoeEbFZcv+YQ+8wKBgQDCzB/5tD6D8uGKfsiakMs5HGEsYyJNP2b5 -UQ6e1spFg1noMfc5Vj+Av5lF0AE6tELEvJe0J8z2rA9zfHC6JkY/zOGMXrILF0S7 -KSTcxfBUqeE0OUJMkDNy61lRGs5ISul0qcGU473EsBEaxi999GcqzLrB5V4CHZlJ -EUam9SSqUwKBgQCVkcE/UWh11iO1WD9lcXGDb7LgU2I1dvqadZ0NZh+MG/exE7Zo -NQ0Ii+0y2D9KM4F0jPEkmv2e5K/R5eu9nQXXlDY4Vr/adnCzAHR+BHzR/adziw/B -kxkmwQWk3cM/nVkFMgLZm+IhrZRsveUEyI1BUXA+q7fcNVpzvGyvm4GasQKBgEW9 -XMlCLYuB3ht+ToV/xzIYJfYFO9eaFly2F1zomxwN7ZdCpDcD2NJYRiCHWplQxgK3 -Xjyiby/048c9ywHqCAZ5bFqb4HQ2DWZQUaE0wFkfRMA0q7bLfY/sEFsIFMgvAavB -xstuSZdsTYNfZstaP8FD8KzQWDq7rBBLvhax90F/AoGBANNhkbNxWiUJX/+6VtRj -u7msBgrUpYQtLkyY+13Ry8cdf+8w1die0LZ4unYjIcAS1ro+XGOc0GASc6pb5dYG -X+RxTyZzoNazbC6JEsFx9IJLn/L0/8jsg368m1f0Dkptd2LzrLsw2zuY6wm8DrLH -Re4GALck6zlT+rZNLuN13p5Z ------END PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIIECTCCAfECAQEwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCWFgxFTATBgNV -BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1l -ZGlhdGUwHhcNMTUwNDEzMjAwNDA3WhcNMjAwNDExMjAwNDA3WjBMMQswCQYDVQQG -EwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxGDAWBgNV -BAMMD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAKtLcne4vYw2vVD3Mvs4O6TDxQ4c3gDC5aw1IMnNqzCuDG0U7dV8lsJ+jsJS -2iOgljf3vzebcecuE8BwXF+xKBDRnxN1Rli2rYjWn94Sn8DqR1B98dLhOjS55hDy -vUjqkwlOeJoOLwgIPR3zftbBtRRrHHwiHNoU0+u9J2ElvUsY/GPxi98q8cX2uTCq -klIQBcUIpNr8fSLzBvyHe7hxdmZg3pqihqLdJjUoaVZm0B9uBOUwy28HdkTcmw03 -BsviB/PFix9dNb1BRnaRPeKuYHzSShCPMOJboynGYum8MP82lBZKJH1MNlgIm0AL -BbKjGqjyAdlWqwX+uQrKqSDZxskCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEAGrOo -IRDUjxt65cBR9OZSXRdnL6szAMuNHWlK0MfVtTATWXDKU9S3KjK6seo+ebyaqt1J -nlyUZ79n6+vU5uSIDANpYQ5Z1DuV5NM2V9o2QiRqExwfgpGUcAXAi0lQ79eA2kzi -cDgDIpbEAJTFP5/uinaRA9H4KqqfMg5m34tu44A01brb2h/czPOWxD89mKKbtS9H -ODPkDkq3wTUG/F0RQvfFC6Na8IWkW0jijDBxuFeSbRV00GH3/wpMBcxDuIcKBJcy -tFrXjCFKzop7djU7OuxEnqQdlgiHgQsszjnLP0k5Lz9CrNG7W+zqmYsvO6s6a94Z -8lHuwl9GAS/IFQS+c+PsPT7uxgSfbdFHWlmOv1+p/PsPaAQ4Hu/ugga8AjMYoyHg -V6LBCTbUK7aA3lnu6+EW3qpGve6Z2H1D+B5V8ZXLuA6ooIS80CN9xw6jFcAXcUv8 -pNw/sJDnErzRbxsOPKeLl2EjJ/1/MsQf5DNp3xPFyhv5l3oOxodICEr4eeudGmAW -OGp21xqo7i3K8YQ6GDMPF6RVX4mOCxY5L9qf+VDLYx8AV9gFZ+VWG8we7jyruqxE -DwetsfCtwXo5gho9p+K8VHA7nWukydBNiekPFD6S6gBu0vMZxIfW/AKolWgxmyPz -zZhR8034yoSR6qxuh+as+JpXmw+3MypZ5G/1S54= ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/files/rsa_keys/www.test.com.pem ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/files/rsa_keys/www.test.com.pem b/ci/new_tsqa/files/rsa_keys/www.test.com.pem deleted file mode 100644 index 5a0cfa7..0000000 --- a/ci/new_tsqa/files/rsa_keys/www.test.com.pem +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUiFw0p0JOfm/G -0YHivkd5v5Xu5tkBWETu9NgKLr7MkEBeqb1fjkm8Gd1IsndoYh0R/tkRzdE6O+lN -WjMgEuCtz+5zblBQ9xDMwAKI+1YhudqrwIxqXBzpyvAAZwU5EHftog/WiEDvJPM0 -XEQsx6142kgVR5NfNX6HWHOL8H86j7Yfbdd0Knu0Qv9tulC8aeBbZ+pKU0/cBCVi -ljr8OFdrCZu1EkKIat3oBjdbEF4boh4gNSsxbX+89uW4SZYR/G4xEX4VZJLMsloG -YOkcOLTV90+VDbbdrZsnmgQgpKBlp2NBdSx7MZQRU5De3PMBzo2uoIvmwXS9ZxtT -Lr+/dpxZAgMBAAECggEANh1uVN3NrUzWSypnRwOqEV7t30GaOZRvIOTo6VbTsCR+ -r1vK4zzIm4N+a5c9fi+VNVLNlJHyV0CP++keoWkNGlSaY3vQKX1vIqM1Qgm0+atn -+Vlyp1ZC6miIyaFxnAEMeE5OeBKDbiDbaBaiKUDCc8Yomnp6FMD7MZ0c9qHK027z -DL0kYjxjVgYiDnE1fJ1ZV466IcyDnGDky2ebjjvvTI7c55tbrEc+VRZdC5Cn5Yb/ -desjXGAb5snEbdAiNqCgIG9bLw3hHWsn0wCkUPRcEMoSZ73taak54vC7cPda7/D5 -aetzsNQWCMZC5NZ74JD5kyC3xBr7TAarQ5OXsJ0DMQKBgQD8GTQdc2MHvA+4nCpp -0Xy3J7gOCI63FWETZgw22sboqk1toF/LFQHYY40EdvEkFsqc6zTm09QK8y8G48sC -j8pvskhO2M9EgLegzPQv6NY0pTqltI0Ye7w9I3FTKNZIJW+XokDEFFqu+lXqf80i -BRmoUrltoS8L5XB/z5GoNMdk7QKBgQDX0mZSYdjPgTDWDSTCdEOcGB4bjAZzXDTu -ukYhri0vuStZ51giAWUlbBnN/hlvln5bULqZFnB5svFRujTIwwevxzhSl45aiNl1 -vE8zsRS0bNeNyjjF6HX0HOEuAQtre/k+WHvEH3mnFR1Zngwbrt4CJyuadlCmj7yw -jv/DVIyznQKBgAbmobiUqgdSLJP/ImIXK/TPj4hCz7VPToL7biYqQvunfcsccsLa -ZlyIDRosL1mvjghRn/cZoVpTYdwsbCg7y2zXUodmA/Z6F4y9T4noM8TpKPvUP3CG -IpcB215NZeA/thhOhrtXW0wi6isrKHBf913WNeE8Yk9PDo9RHUmfeD3ZAoGBAJGn -t9LFopN4t0LfH/30hWSlijxBJmFYy4iKQqacbHaW28ETNxHMKz00Vb4GTZhX0vNB -6o1C7anUsLTdnJ4ZsehZ5ZMoIbTMQycIbdOPIVAbXOaeoe4/UsvrabWoktJ5mt8O -zIiyTWIMCADhf353Z/HACdd3HjsrKsdl2wsy1rqpAoGBAOaNsxoyw/BIn/wvkQRs -YyYXLb8zECO17ad4M+aFsnf7yLY8i3k80JRfjqxis/yrePNuVKHiZYgEvLNBMdJi -j3YSMgXHYSgYti73+zBcy1uVVlUR5Q2HnihFX5Ho1IAQbC+TXzUCnLOEoR/IIHIz -+qWsoHgJD98ie3cjys0WujpH ------END PRIVATE KEY----- ------BEGIN CERTIFICATE----- -MIIEBjCCAe4CAQEwDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCWFgxFTATBgNV -BAcMDERlZmF1bHQgQ2l0eTEMMAoGA1UECgwDQVRTMRUwEwYDVQQDDAxpbnRlcm1l -ZGlhdGUwHhcNMTUwNDEzMjAwNDE0WhcNMjAwNDExMjAwNDE0WjBJMQswCQYDVQQG -EwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MQwwCgYDVQQKDANBVFMxFTATBgNV -BAMMDHd3dy50ZXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANSIXDSnQk5+b8bRgeK+R3m/le7m2QFYRO702AouvsyQQF6pvV+OSbwZ3Uiyd2hi -HRH+2RHN0To76U1aMyAS4K3P7nNuUFD3EMzAAoj7ViG52qvAjGpcHOnK8ABnBTkQ -d+2iD9aIQO8k8zRcRCzHrXjaSBVHk181fodYc4vwfzqPth9t13Qqe7RC/226ULxp -4Ftn6kpTT9wEJWKWOvw4V2sJm7USQohq3egGN1sQXhuiHiA1KzFtf7z25bhJlhH8 -bjERfhVkksyyWgZg6Rw4tNX3T5UNtt2tmyeaBCCkoGWnY0F1LHsxlBFTkN7c8wHO -ja6gi+bBdL1nG1Muv792nFkCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEARQSyOqxM -ecr1SvIu65yZbOPq29343KewRs39ZbjsEbmm5SMdFs7asWHtbD6iiU3mPzqAG0Y3 -i+S98J7xwSvAnWERVNzWhymCu7MQ/mKM9WZWDRGUshFgaYpWDqjw2a/qVC54f/Ye -OaeDqzWc96Ib0khZdE+IyqpLdclxagVHv0cJOQwqhKOkIDQGEeBTc8AA/luOnC8d -tE9s8IwTmGpZPYY+kwGVbaLKPanONGDiZM5IyZbBgb9Dq3wL/5DXvQApid37BzHJ -ceT/gKDQljXOSWacxCPUSNb6aut5ivfbd9w7kXdTZL9UcS+FGPNXQ2z1yu3VaqJV -MTSfSW5KUHKVLwDsp9hvBpid8S3TpQLeGt68wXoHxvh5PMnsgdA4JxsOTTwKP/gE -rYhockBGuftKOaRqlRn4+n/nSfLogYoD+32S6ZMBJpPuMBXODiezsP+eAb+wqrV7 -4tiKJC70YNVL7XMdmsDtxj8lcY+aouREnd2+Iutr+YrCM5ZIOKAq57Ib4qTNV3Is -F0KDEHRBpiS9hcGYzhg39Dovc6RHc6QRqKVrfZfE3jKXfCtefcqceIsh3jH51ONI -sudX6SOv76PMjnAj0uqF8Kw6YVzLO/MGbAyGilIXYc18GdRWL4gqj9Z9BiLuNcZU -8AhkHaBWKOHEtVZ8ueEkRBS3I0JZZ8ZKlTM= ------END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/requirements.txt ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/requirements.txt b/ci/new_tsqa/requirements.txt deleted file mode 100644 index 5897503..0000000 --- a/ci/new_tsqa/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -# requirements for the python virtualenv - -# TODO: pin a specific version -https://github.com/apache/trafficserver-qa/archive/master.zip -pyyaml -pyOpenSSL http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/helpers.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/helpers.py b/ci/new_tsqa/tests/helpers.py deleted file mode 100644 index f0aa2d9..0000000 --- a/ci/new_tsqa/tests/helpers.py +++ /dev/null @@ -1,56 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. -import os -import tempfile - -import tsqa.environment -import tsqa.test_cases -import tsqa.utils - -unittest = tsqa.utils.import_unittest() - -# TODO: check that the given path is relative -def tests_file_path(path): - ''' - Return the absolute path to a file with relative path "name" from tsqa/files - ''' - base = os.path.realpath(os.path.join(__file__, '..', '..', 'files')) - return os.path.join(base, path) - -class EnvironmentCase(tsqa.test_cases.EnvironmentCase): - ''' - This class will get an environment (which is unique) but won't start it - ''' - @classmethod - def getEnv(cls): - ''' - This function is responsible for returning an environment - ''' - SOURCE_DIR = os.path.realpath(os.path.join(__file__, '..', '..', '..', '..')) - TMP_DIR = os.path.join(tempfile.gettempdir(), 'tsqa') - ef = tsqa.environment.EnvironmentFactory(SOURCE_DIR, - os.path.join(TMP_DIR, 'base_envs'), - default_configure={'enable-example-plugins': None, - 'enable-test-tools': None, - 'disable-dependency-tracking': None, - }, - ) - # TODO: figure out a way to determine why the build didn't fail and - # not skip all build failures? - try: - return ef.get_environment(cls.environment_factory.get('configure'), cls.environment_factory.get('env')) - except Exception as e: - raise unittest.SkipTest(e) http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_buildoptions.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/test_buildoptions.py b/ci/new_tsqa/tests/test_buildoptions.py deleted file mode 100644 index 2279062..0000000 --- a/ci/new_tsqa/tests/test_buildoptions.py +++ /dev/null @@ -1,61 +0,0 @@ -''' -Test that configuration options successfully compile -''' - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -import os -import sys -import requests -import time -import subprocess -import logging - -import helpers -import tsqa.test_cases -import tsqa.utils - -log = logging.getLogger(__name__) - -class TestBuildOption(helpers.EnvironmentCase): - ''' - Run the built-in traffic_server regression test suite. - ''' - - def test_buildoption(self): - pass - -class TestBuildOptionFastSDK(TestBuildOption): - '''Build with --enable-fast-sdk''' - environment_factory = { 'configure': { 'enable-fast-sdk': None }, } - -class TestBuildOptionDisableDiags(TestBuildOption): - '''Build with --disable-diags''' - environment_factory = { 'configure': { 'disable-diags': None }, } - -class TestBuildOptionDisableTests(TestBuildOption): - '''Build with --disable-tests''' - environment_factory = { 'configure': { 'disable-tests': None }, } - -class TestBuildOptionEnableStaticProxy(TestBuildOption): - '''Build with --enable-static-proxy''' - environment_factory = { 'configure': { 'enable-static-proxy': None }, } - -class TestBuildOptionEnableCxxApi(TestBuildOption): - '''Build with --enable-cppapi''' - environment_factory = { 'configure': { 'enable-cppapi': None }, } - http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_chunked.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/test_chunked.py b/ci/new_tsqa/tests/test_chunked.py deleted file mode 100644 index 9b7fdc0..0000000 --- a/ci/new_tsqa/tests/test_chunked.py +++ /dev/null @@ -1,196 +0,0 @@ -''' -Test chunked request/responses -''' -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -import os -import requests -import time -import logging -import json -import uuid -import socket - -import helpers - -import tsqa.test_cases -import tsqa.utils -import tsqa.endpoint - -log = logging.getLogger(__name__) - -import SocketServer -class ChunkedHandler(SocketServer.BaseRequestHandler): - """ - A subclass of RequestHandler which return chunked encoding optionally - - /parts/sleep_time/close - parts: number of parts to send - sleep_time: time between parts - close: bool wether to close properly - """ - - def handle(self): - # Receive the data in small chunks and retransmit it - conn_id = uuid.uuid4().hex - while True: - data = self.request.recv(4096).strip() - if data: - log.info('sending data back to the client') - else: - log.info('Client disconnected') - break - inc_lines = data.splitlines() - try: - uri = inc_lines[0].split()[1] - except IndexError: - break - parts = 5 # how many things to send - sleep_time = 0.2 # how long to sleep between parts - close = True # whether to close properly - if uri[1:]: # if there is something besides / - uri_parts = uri[1:].split('/') - if len(uri_parts) >= 1: - parts = int(uri_parts[0]) - if len(uri_parts) >= 2: - sleep_time = float(uri_parts[1]) - if len(uri_parts) >= 3: - close = json.loads(uri_parts[2]) - resp = ('HTTP/1.1 200 OK\r\n' - 'X-Conn-Id: ' + str(conn_id) + '\r\n' - 'Transfer-Encoding: chunked\r\n' - 'Connection: keep-alive\r\n' - '\r\n') - self.request.sendall(resp) - for x in xrange(0, parts): - self.request.sendall('{0}\r\n{1}\r\n'.format(len(str(x)), x)) - time.sleep(sleep_time) - if close: - self.request.sendall('0\r\n\r\n') - else: - self.request.sendall('lkfjasd;lfjas;d') - - time.sleep(2) - -class TestChunked(helpers.EnvironmentCase): - @classmethod - def setUpEnv(cls, env): - ''' - This function is responsible for setting up the environment for this fixture - This includes everything pre-daemon start - ''' - - # create a socket server - cls.port = tsqa.utils.bind_unused_port()[1] - cls.server = tsqa.endpoint.SocketServerDaemon(ChunkedHandler, port=cls.port) - cls.server.start() - cls.server.ready.wait() - - cls.configs['remap.config'].add_line('map / http://127.0.0.1:{0}/'.format(cls.port)) - - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.http.connect_attempts_timeout': 5, - 'proxy.config.http.connect_attempts_max_retries': 0, - 'proxy.config.http.keep_alive_enabled_in': 1, - 'proxy.config.http.keep_alive_enabled_out': 1, - 'proxy.config.exec_thread.limit': 1, - 'proxy.config.exec_thread.autoconfig': 0, - 'proxy.config.http.chunking_enabled': 1, - }) - - def test_chunked_origin(self): - ''' - Test that the origin does in fact support keepalive - ''' - self._client_test_chunked_keepalive(self.port) - self._client_test_chunked_keepalive(self.port, num_bytes=2) - self._client_test_chunked_keepalive(self.port, num_bytes=2, sleep=1) - - def _client_test_chunked_keepalive(self, - port=None, - times=3, - num_bytes=None, - sleep=None, - ): - if port is None: - port = int(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.connect(('127.0.0.1', port)) - - url = '/' - if num_bytes is not None: - url += str(num_bytes) - if sleep is not None: - if num_bytes is None: - raise Exception() - url += '/' + str(sleep) - - request = ('GET ' + url + ' HTTP/1.1\r\n' - 'Host: 127.0.0.1\r\n' - '\r\n') - uuid = None - # test basic - for x in xrange(1, times): - s.send(request) - resp = '' - while True: - response = s.recv(4096) - for line in response.splitlines(): - line = line.strip() - if line.startswith('X-Conn-Id:'): - r_uuid = line.replace('X-Conn-Id:', '') - if uuid is None: - uuid = r_uuid - else: - self.assertEqual(uuid, r_uuid) - resp += response - if resp.endswith('\r\n0\r\n\r\n'): - break - for x in xrange(0, num_bytes or 4): - self.assertIn('1\r\n{0}\r\n'.format(x), resp) - s.close() - - def test_chunked_basic(self): - url = 'http://127.0.0.1:{0}'.format(self.port) - ret = requests.get(url, proxies=self.proxies) - self.assertEqual(ret.status_code, 200) - self.assertEqual(ret.text.strip(), '01234') - - # TODO: fix keepalive with chunked responses - def test_chunked_keepalive_server(self): - url = 'http://127.0.0.1:{0}'.format(self.port) - ret = requests.get(url, proxies=self.proxies) - conn_id = ret.headers['x-conn-id'] - self.assertEqual(ret.status_code, 200) - self.assertEqual(ret.text.strip(), '01234') - - # make sure that a second request works, and since we have keep-alive out - # disabled it should be a new connection - ret = requests.get(url, proxies=self.proxies) - self.assertEqual(ret.status_code, 200) - self.assertEqual(ret.text.strip(), '01234') - self.assertEqual(conn_id, ret.headers['x-conn-id']) - - def test_chunked_keepalive_client(self): - self._client_test_chunked_keepalive() - self._client_test_chunked_keepalive(num_bytes=2) - self._client_test_chunked_keepalive(num_bytes=2, sleep=1) - - def test_chunked_bad_close(self): - url = 'http://127.0.0.1:{0}/5/0.1/false'.format(self.port) - with self.assertRaises(requests.exceptions.ConnectionError): - ret = requests.get(url, proxies=self.proxies, timeout=2) http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_connect_attempts.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/test_connect_attempts.py b/ci/new_tsqa/tests/test_connect_attempts.py deleted file mode 100644 index 9979e33..0000000 --- a/ci/new_tsqa/tests/test_connect_attempts.py +++ /dev/null @@ -1,209 +0,0 @@ -''' -Test Origin Server Connect Attempts -''' -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -import requests -import time -import logging -import socket -import struct -import select -import threading - -import helpers - -import tsqa.test_cases -import tsqa.utils -import tsqa.endpoint - -log = logging.getLogger(__name__) - - -def thread_die_on_connect(sock): - sock.listen(0) - # poll - read_sock = select.select([sock], [], []) - # exit - sock.close() - -def thread_delayed_accept_after_connect(sock): - ''' - Thread to sleep a decreasing amount of time before requests - - sleep times: 2 -> 1 -> 0 - ''' - sock.listen(0) - sleep_time = 2 - requests = 0 - # poll - while True: - read_sock = select.select([sock], [], []) - time.sleep(sleep_time) - try: - connection, addr = sock.accept() - connection.send(('HTTP/1.1 200 OK\r\n' - 'Content-Length: {body_len}\r\n' - 'Content-Type: text/html; charset=UTF-8\r\n' - 'Connection: close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests))) - connection.close() - requests += 1 - except Exception as e: - print 'connection died!', e - pass - if sleep_time > 0: - sleep_time -= 1 - - -def thread_reset_after_accept(sock): - sock.listen(0) - first = True - requests = 0 - while True: - connection, addr = sock.accept() - requests += 1 - if first: - first = False - connection.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0)) - connection.close() - else: - connection.send(('HTTP/1.1 200 OK\r\n' - 'Content-Length: {body_len}\r\n' - 'Content-Type: text/html; charset=UTF-8\r\n' - 'Connection: close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests))) - connection.close() - -def thread_partial_response(sock): - sock.listen(0) - first = True - requests = 0 - while True: - connection, addr = sock.accept() - requests += 1 - if first: - connection.send('HTTP/1.1 200 OK\r\n') - connection.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 1, 0)) - connection.close() - first = False - else: - connection.send(('HTTP/1.1 200 OK\r\n' - 'Content-Length: {body_len}\r\n' - 'Content-Type: text/html; charset=UTF-8\r\n' - 'Connection: close\r\n\r\n{body}'.format(body_len=len(str(requests)), body=requests))) - connection.close() - - - -class TestOriginServerConnectAttempts(helpers.EnvironmentCase): - @classmethod - def setUpEnv(cls, env): - ''' - This function is responsible for setting up the environment for this fixture - This includes everything pre-daemon start - ''' - cls.sock_map = {} - def _add_sock(name): - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.bind(('127.0.0.1', 0)) - cls.sock_map[name] = sock.getsockname()[1] - cls.configs['remap.config'].add_line('map /{0}/ http://127.0.0.1:{1}/'.format(name, cls.sock_map[name])) - return sock - # create a socket where we just bind - _add_sock('bound') - - # create a socket where we bind + listen - sock = _add_sock('listen') - sock.listen(1) - - # create a bunch of special socket servers - sock = _add_sock('die_on_connect') - t = threading.Thread(target=thread_die_on_connect, args=(sock,)) - t.daemon = True - t.start() - - sock = _add_sock('reset_after_accept') - t = threading.Thread(target=thread_reset_after_accept, args=(sock,)) - t.daemon = True - t.start() - - sock = _add_sock('delayed_accept_after_connect') - t = threading.Thread(target=thread_delayed_accept_after_connect, args=(sock,)) - t.daemon = True - t.start() - - sock = _add_sock('partial_response') - t = threading.Thread(target=thread_partial_response, args=(sock,)) - t.daemon = True - t.start() - - # only add server headers when there weren't any - cls.configs['records.config']['CONFIG']['proxy.config.http.response_server_enabled'] = 2 - - # enable re-connects, timeout of 1s, max retires of 3 - cls.configs['records.config']['CONFIG']['proxy.config.http.connect_attempts_timeout'] = 1 - cls.configs['records.config']['CONFIG']['proxy.config.http.connect_attempts_max_retries'] = 3 - - def test_bound_origin(self): - '''Verify that we get 502s from an origin which just did a bind''' - url = 'http://127.0.0.1:{0}/bound/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 502) - - def test_listen_origin(self): - '''Verify that we get 502s from origins that bind + listen''' - url = 'http://127.0.0.1:{0}/listen/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 502) - - url = 'http://127.0.0.1:{0}/listen/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 502) - - def test_die_on_connect_origin(self): - '''Verify that we get 504s from origins that die_on_connect''' - url = 'http://127.0.0.1:{0}/die_on_connect/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 504) - - # TODO: FIX THIS!!! The test is correct, ATS isn't! - # we should fail in this case-- or at least have a config which lets you control - def test_partial_response_origin(self): - ''' - Verify that we get 504s from origins that return a partial_response - - We want to bail out-- since the origin already got the request, we can't - gaurantee that the request is re-entrant - ''' - url = 'http://127.0.0.1:{0}/partial_response/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 502) - - def test_reset_after_accept_origin(self): - '''Verify that we get 200s from origins that reset_after_accept''' - url = 'http://127.0.0.1:{0}/reset_after_accept/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - self.assertEqual(ret.status_code, 200) - self.assertGreater(int(ret.text), 0) - - def test_delayed_accept_after_connect_origin(self): - '''Verify that we get 200s from origins that delayed_accept_after_connect''' - url = 'http://127.0.0.1:{0}/delayed_accept_after_connect/s'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports']) - ret = requests.get(url) - # make sure it worked - self.assertEqual(ret.status_code, 200) - # make sure its not the first one (otherwise the test messed up somehow) - self.assertGreater(int(ret.text), 0) http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_example.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/test_example.py b/ci/new_tsqa/tests/test_example.py deleted file mode 100644 index 0a7f468..0000000 --- a/ci/new_tsqa/tests/test_example.py +++ /dev/null @@ -1,234 +0,0 @@ -''' -Some example tests of the new tsqa -''' - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -import os -import requests -import time -import subprocess - -import helpers - -import tsqa.test_cases -import tsqa.utils - -# TODO: for some reason subclasses of subclasses of TestCase don't work with the -# decorator -#@helpers.unittest.skip('Not running TestNoOp, as it is a NoOp test') -class TestNoOp(helpers.EnvironmentCase): - ''' - This is purely a documentation test - ''' - # you can set configure/environment options for the source build here - environment_factory = { - 'configure': {# A value of None means that the argument has no value - 'enable-spdy': None, - # if there is a value it will be converted to --key=value - 'with-max-api-stats': 2048, - }, - 'env': None, - } - - @classmethod - def setUpClass(cls): - ''' - If you'd like to skip an entire test - ''' - # you can also skip (or conditionally skip) tests - raise helpers.unittest.SkipTest('Skip the entire class') - - @classmethod - def setUpEnv(cls, env): - ''' - This funciton is responsible for setting up the environment for this fixture - This includes everything pre-daemon start. - - You are passed in cls (which is the instance of this class) and env (which - is an environment object) - ''' - # we can modify any/all configs (note: all pre-daemon start) - cls.configs['remap.config'].add_line('map / http://http://trafficserver.readthedocs.org/') - - # Some configs have nicer wrapper objects to give you a more pythonic interface - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.log.squid_log_enabled': 1, - 'proxy.config.log.squid_log_is_ascii': 1, - }) - - def test_something(self): - ''' - All functions beginning with "test_" will be run as tests for the class. - Within these functions your environment is already set up and started-- - you only need to excercise the code that you intend to test - ''' - # for example, you could send a request to ATS and check the response - ret = requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])) - - self.assertEqual(ret.status_code, 404) - self.assertIn('ATS', ret.headers['server']) - - -class TestConfigureFlags(helpers.EnvironmentCase): - environment_factory = { - 'configure': {'enable-spdy': None}, - } - - def test_spdy(self): - self.assertTrue(True) - - -class TestBootstrap(helpers.EnvironmentCase): - def test_default_404(self): - ret = requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])) - - self.assertEqual(ret.status_code, 404) - self.assertIn('ATS', ret.headers['server']) - - def test_trafficline(self): - ''' - Test that traffic_line works, and verify that the values for proxy.config - match what we put in records.config - ''' - cmd = [os.path.join(self.environment.layout.bindir, 'traffic_line'), - '-m', - 'proxy.config', - ] - stdout, _ = tsqa.utils.run_sync_command(cmd, stdout=subprocess.PIPE) - for line in stdout.splitlines(): - if not line.strip(): - continue - k, v = line.split(' ', 1) - if k not in self.configs['records.config']['CONFIG']: - continue - r_val = self.configs['records.config']['CONFIG'][k] - self.assertEqual(type(r_val)(v), self.configs['records.config']['CONFIG'][k]) - - -class TestServerIntercept(helpers.EnvironmentCase, tsqa.test_cases.DynamicHTTPEndpointCase): - endpoint_port = 60000 - @classmethod - def setUpEnv(cls, env): - cls.configs['remap.config'].add_line('map / http://127.0.0.1:{0}'.format(cls.endpoint_port)) - - cls.configs['plugin.config'].add_line('intercept.so') - - def hello(request): - return 'hello' - cls.http_endpoint.add_handler('/', hello) - - - def test_basic_intercept(self): - for _ in xrange(0, 10): - ret = requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])) - - self.assertEqual(ret.status_code, 200) - - -class TestLogs(helpers.EnvironmentCase): - @classmethod - def setUpEnv(cls, env): - ''' - This funciton is responsible for setting up the environment for this fixture - This includes everything pre-daemon start - ''' - # only add server headers when there weren't any - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.diags.debug.tags': 'log-.*', - 'proxy.config.diags.debug.enabled': 1, - 'proxy.config.log.hostname': 'test', - 'proxy.config.log.search_top_sites': 1, - }) - def test_logs_exist(self): - # send some requests - for x in xrange(0, 10): - ret = requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])) - - self.assertEqual(ret.status_code, 404) - self.assertIn('ATS', ret.headers['server']) - - # TODO: some better way to know when the logs where syncd - time.sleep(10) # wait for logs to hit disk - - # verify that the log files exist - for logfile in ('diags.log', 'error.log', 'squid.blog', 'traffic.out', 'manager.log'): - logfile_path = os.path.join(self.environment.layout.logdir, logfile) - self.assertTrue(os.path.isfile(logfile_path), logfile_path) - - -class TestLogRefCounting(tsqa.test_cases.DynamicHTTPEndpointCase, helpers.EnvironmentCase): - @classmethod - def setUpEnv(cls, env): - ''' - This funciton is responsible for setting up the environment for this fixture - This includes everything pre-daemon start - ''' - cls.configs['remap.config'].add_line('map / http://127.0.0.1:{0}/\n'.format(cls.http_endpoint.address[1])) - - cls.configs['plugin.config'].add_lines([ - 'tcpinfo.so --log-file=tcpinfo1 --hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2', - 'tcpinfo.so --log-file=tcpinfo2 --hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2', - 'tcpinfo.so --log-file=tcpinfo3 --hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2', - 'tcpinfo.so --log-file=tcpinfo4 --hooks=ssn_start,txn_start,send_resp_hdr,ssn_close,txn_close --log-level=2', - ]) - - # only add server headers when there weren't any - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.log.max_space_mb_for_logs': 10, - 'proxy.config.log.max_space_mb_for_orphan_logs': 10, - 'proxy.config.log.squid_log_enabled': 1, - 'proxy.config.log.squid_log_is_ascii': 1, - 'proxy.config.log.rolling_interval_sec': 60, - 'proxy.config.log.rolling_size_mb': 1, - 'proxy.config.log.max_space_mb_headroom': 1, - 'proxy.config.log.max_secs_per_buffer': 1, - }) - - def test_logs_exist(self): - # send some requests - for x in xrange(0, 10): - ret = requests.get('http://127.0.0.1:{0}/'.format(self.configs['records.config']['CONFIG']['proxy.config.http.server_ports'])) - - self.assertEqual(ret.status_code, 404) - self.assertIn('ATS', ret.headers['server']) - - # TODO: some better way to know when the logs where syncd - time.sleep(10) # wait for logs to hit disk - - logfile_path = os.path.join(self.environment.layout.logdir, 'squid.log') - self.assertTrue(os.path.isfile(logfile_path), logfile_path) - - -class TestDynamicHTTPEndpointCase(tsqa.test_cases.DynamicHTTPEndpointCase, helpers.EnvironmentCase): - @classmethod - def setUpEnv(cls, env): - ''' - This funciton is responsible for setting up the environment for this fixture - This includes everything pre-daemon start - ''' - cls.configs['remap.config'].add_line('map / http://127.0.0.1:{0}/\n'.format(cls.http_endpoint.address[1])) - - # only add server headers when there weren't any - cls.configs['records.config']['CONFIG']['proxy.config.http.response_server_enabled'] = 2 - - def test_basic_proxy(self): - ret = requests.get(self.endpoint_url('/test'), - proxies=self.proxies, - ) - self.assertEqual(ret.status_code, 404) - self.assertIn('WSGIServer', ret.headers['server']) http://git-wip-us.apache.org/repos/asf/trafficserver/blob/51ea4aa9/ci/new_tsqa/tests/test_hostdb.py ---------------------------------------------------------------------- diff --git a/ci/new_tsqa/tests/test_hostdb.py b/ci/new_tsqa/tests/test_hostdb.py deleted file mode 100644 index 46bec6a..0000000 --- a/ci/new_tsqa/tests/test_hostdb.py +++ /dev/null @@ -1,86 +0,0 @@ -''' -Test hostdb -''' - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you 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. - -import os -import requests -import time - -import helpers - -import tsqa.test_cases - - -class TestHostDBPartiallyFailedDNS(helpers.EnvironmentCase): - ''' - Tests for how hostdb handles when there is one failed and one working resolver - ''' - @classmethod - def setUpEnv(cls, env): - resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf') - - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.http.response_server_enabled': 2, # only add server headers when there weren't any - 'proxy.config.hostdb.lookup_timeout': 1, - 'proxy.config.dns.resolv_conf': resolv_conf_path, - 'proxy.config.url_remap.remap_required': 0, - - }) - - with open(resolv_conf_path, 'w') as fh: - fh.write('nameserver 1.1.1.0\n') # some non-existant nameserver - fh.write('nameserver 8.8.8.8\n') # some REAL nameserver - - def test_working(self): - start = time.time() - ret = requests.get('http://trafficserver.readthedocs.org', - proxies=self.proxies, - ) - self.assertLess(time.time() - start, self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout']) - self.assertEqual(ret.status_code, 200) - - -class TestHostDBFailedDNS(helpers.EnvironmentCase): - ''' - Tests for how hostdb handles when there is no reachable resolver - ''' - @classmethod - def setUpEnv(cls, env): - resolv_conf_path = os.path.join(env.layout.prefix, 'resolv.conf') - - cls.configs['records.config']['CONFIG'].update({ - 'proxy.config.http.response_server_enabled': 2, # only add server headers when there weren't any - 'proxy.config.hostdb.lookup_timeout': 1, - 'proxy.config.dns.resolv_conf': resolv_conf_path, - 'proxy.config.url_remap.remap_required': 0, - - }) - - with open(resolv_conf_path, 'w') as fh: - fh.write('nameserver 1.1.1.0\n') # some non-existant nameserver - - def test_lookup_timeout(self): - start = time.time() - ret = requests.get('http://some_nonexistant_domain', - proxies=self.proxies, - ) - self.assertGreater(time.time() - start, self.configs['records.config']['CONFIG']['proxy.config.hostdb.lookup_timeout']) - self.assertEqual(ret.status_code, 502) - self.assertIn('ATS', ret.headers['server']) -