Commit graph

421 commits

Author SHA1 Message Date
Brad Warren
726f3ce8b3 Remove EOL'd Ubuntu from targets.yaml (#5887)
See https://wiki.ubuntu.com/Releases.

Ubuntu 15.* repositories have been shut down for months now causing our tests
to always fail on these systems. While the tests on Ubuntu 12.04 still work, it
has been unsupported by Canonical for almost a year and I don't think we should
hamstring ourselves trying to continue to support it ourselves.
2018-04-19 17:57:41 -07:00
Brad Warren
a9e01ade4c Revert "use older boulder version (#5852)" (#5855)
This reverts commit 6b29d159a2.
2018-04-17 17:17:15 -07:00
Brad Warren
6b29d159a2
use older boulder version (#5852) 2018-04-11 16:14:55 -07:00
Brad Warren
cc24b4e40a
Fix --allow-subset-of-names (#5690)
* Remove aauthzr instance variable

* If domain begins with fail, fail the challenge.

* test --allow-subset-of-names

* Fix renewal and add extra check

* test after hook checks
2018-03-08 11:12:33 -08:00
Brad Warren
d62c56f9c9
Remove the assumption the domain is unique in the manual plugin (#5670)
* use entire achall as key

* Add manual cleanup hook

* use manual cleanup hook
2018-03-06 07:21:01 -08:00
Brad Warren
cee9ac586e
Don't report coverage on Apache during integration tests (#5669)
* ignore Apache coverage

* drop min coverage to 67
2018-03-06 07:20:34 -08:00
Brad Warren
559220c2ef
Add basic ACMEv2 integration tests (#5635)
* Use newer boulder config

* Use ACMEv2 endpoint if requested

* Add v2 integration tests

* Work with unset variables

* Add wildcard issuance test

* quote domains
2018-03-01 10:11:15 -08:00
Brad Warren
38d5144fff
Drop min coverage to 63 (#5641) 2018-03-01 08:25:32 -08:00
Brad Warren
43ba9cbf33
Merge pull request #5605 from certbot/rm-eol-2.6
Drop Python 2.6 and 3.3 support
2018-02-26 13:34:50 -08:00
Hugo
42638afc75 Drop support for EOL Python 2.6 and 3.3
* Drop support for EOL Python 2.6

* Use more helpful assertIn/NotIn instead of assertTrue/False

* Drop support for EOL Python 3.3

* Remove redundant Python 3.3 code

* Restore code for RHEL 6 and virtualenv for Py2.7

* Revert pipstrap.py to upstream

* Merge py26_packages and non_py26_packages into all_packages

* Revert changes to *-auto in root

* Update by calling letsencrypt-auto-source/build.py

* Revert permissions for pipstrap.py
2018-02-16 16:14:01 -08:00
cclauss
09b5927e6a from botocore.exceptions import ClientError (#5507)
Fixes undefined name 'botocore' in flake8 testing of https://github.com/certbot/certbot

$ __flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics__
```
./tests/letstest/multitester.py:144:12: F821 undefined name 'botocore'
    except botocore.exceptions.ClientError as e:
           ^
1     F821 undefined name 'botocore'
```
2018-02-15 11:07:35 -08:00
Joona Hoikkala
fbace69b5e Fix install verb (#5536)
* Fix install verb

* Fix error message, tests and remove global pylint change

* Fix boulder integration test keypath

* Also use chain_path from lineage if not defined on CLI
2018-02-14 09:28:36 -08:00
Brad Warren
0416382633
Update leauto_upgrades with tests from #5402. (#5407) 2018-02-06 17:01:58 -08:00
Brad Warren
a2239baa45
fix test_tests.sh (#5478) 2018-01-24 22:38:36 -08:00
Brad Warren
3acf5d1ef9
Fix rebootstraping with old venvs (#5392)
* Fix rebootstrapping before venv move

* add regression test

* dedupe test

* Cleanup case when two venvs exist.

* Add clarifying comment

* Add double venv test to leauto_upgrades

* Fix logic with the help of coffee

* redirect stderr

* pass VENV_PATH through sudo

* redirect stderr
2018-01-10 12:10:21 -08:00
Brad Warren
e02adec26b Have letsencrypt-auto do a real upgrade in leauto-upgrades option 2 (#5390)
* Make leauto_upgrades do a real upgrade

* Cleanup vars and output

* Sleep until the server is ready

* add simple_http_server.py

* Use a randomly assigned port

* s/realpath/readlink

* wait for server before getting port

* s/localhost/all interfaces
2018-01-08 17:38:03 -08:00
Brad Warren
24ddc65cd4
Allow non-interactive revocation without deleting certificates (#5386)
* Add --delete-after-revoke flags

* Use delete_after_revoke value

* Add delete_after_revoke unit tests

* Add integration tests for delete-after-revoke.
2018-01-08 17:02:20 -08:00
Jacob Hoffman-Andrews
73ba9af442 Don't echo Boulder logs on failure. (#5290)
The extensive logs made it hard to spot the actual failure.
2017-12-04 11:20:53 -08:00
Brad Warren
48173ed1cb
Switch from nose to pytest (#5282)
* Use pipstrap to install a good version of pip

* Use pytest in cb-auto tests

* Remove nose usage in auto_test.py

* remove nose dev dep

* use pytest in test_tests

* Use pytest in tox

* Update dev dependency pinnings

* remove nose multiprocess lines

* Use pytest for coverage

* Use older py and pytest for old python versions

* Add test for Error.__str__

* pin pytest in oldest test

* Fix tests for DNS-DO plugin on py26

* Work around bug for Python 3.3

* Clarify dockerfile comments
2017-12-01 10:59:55 -08:00
Brad Warren
884fc56a3e
Use pipstrap to ensure pip works on older systems (#5216)
* Use pipstrap in tools/_venv_common.sh

* Use _venv_common.sh in test_sdists
2017-11-03 10:59:56 -07:00
Brad Warren
7c11158810 Retry failures to start boulder (#5176)
Occasionally a network error prevents Docker from starting boulder causing
Travis tests to fail like it did at
https://travis-ci.org/certbot/certbot/jobs/282923098. This works around the
problem by using travis_retry to try to start boulder again if it fails.

This also moves the logic of waiting for boulder to start into
tests/boulder-fetch.sh so people running integration tests locally can benefit.
2017-10-12 17:00:13 -07:00
Brad Warren
1081a2501f integration test to prevent regressions of #5115 (#5172) 2017-10-11 08:18:17 -07:00
yomna
3087b436f3 Delete after revoke [#4109] (#4914)
*     Switching from old branch (issue-4109) and addressing changes requested
    in last iteration of review:
    80aa857fd2

    Requested changes that were addressed:
    - fixed outdated docstring for `cert_path_to_lineage`
    - removed `full_archive_dir_from_renewal_conf` amd replaced with `full_archive_path` (and `_full_archive_path` -> `full_archive_path`)
    - matching on `cert` instead of `chain` in `cert_manager.cert_path_to_lineage`
    - fixed the two coding wrongs make a right issue

    Requested changes which were not addressed:
    - moving `cert_path_to_lineage` from `cert_manager` to `storage`,
      as it would introduce a hard to resolve circular dependency.

* Update integration tests to handle default deletion after revoke.

* Swapping test domains.

* Addressing PR feedback:
	- calling storage.full_archive_path with a ConfigObj instead of None
	- Removing lambda x: x.chain_path as an option to match against

* Addressing PR feedback: it's expected that len(pattern) is 0, so handle that case properly.

* Testing of conflicting values of --cert-name and --cert-path non-interactive mode.

* Silly test for when neither certname nor cert-path were specified.

* Changing archive_files to a private function, because mocking nested functions seems impossible.

* Tests for storage.cert_path_for_cert_name

* Splitting out _acceptable_matches

* Some tests for cert_manager.cert_path_to_lineage

* Offerings to the Lint God

* Cleaner way of dealing with files in archive dirs

* Handling the two different use cases of match_and_check_overlaps a bit better

* late night syntax errors

* Test for when multiple lineages share an archive dir

* Tests for certbot.cert_manager.match_and_check_overlaps

* Removing unneeded nesting

* Lint errors that Travis caught that didn't show up locally

* Adding two integration tests (matching & mismatched --cert-path, --cert-name)  based on feedback.

* Asking the user if they want to delete in interactive mode.
2017-10-03 16:36:26 -07:00
Brad Warren
356471cdf6 Add hook directories (#5151)
* Add hook dir constants

* Add hook dir properties to configuration

* test hook dir properties

* reuse certbot.util.is_exe

* Add certbot.hooks.list_hooks

* test list_hooks

* Run pre-hooks in directory

* Run deploy-hooks in directory

* Run post-hooks in directory

* Refactor and update certbot/tests/hook_test.py

* Add integration tests for hook directories

* Have Certbot create hook directories.

* document renewal hook directories

* Add --no-directory-hooks

* Make minor note about locale independent sorting
2017-10-03 13:52:02 -07:00
Brad Warren
34d78ff626 Fix hook test. (#5152)
Up until now, this test was written incorrectly. In addition, when it has
failed, it simply prints error messages rather than reporting that the test
failed. This fixes both of these problems.
2017-10-02 13:20:35 -07:00
yomna
48fd7ee260 Updating the AWS letstest documentation (#5091)
* Better documentation for working w/ AWS.

* Addressing feedback.

* profile name -> key name
2017-09-19 10:25:36 -07:00
Brad Warren
4bc0c83ca7 Add --no-self-upgrade to test farm test. (#5095) 2017-09-14 17:33:32 -07:00
Brad Warren
68283940cd Test farm improvements (#5088)
* prevent regressions of #5082

* Fix test_leauto_upgrades.sh

test_leauto_upgrades.sh has been incorrectly been succeeding because while peep
doesn't work with newer versions of pip and letsencrypt-auto would crash,
the output included the version number so we reported the test as passing.
This updates letsencrypt-auto to the oldest version that still works for the
purpose of the test and sets pipefail so errors are properly reported.

* Test symlink creation in test_leauto_upgrades.sh

* Pin dependencies in test_sdists.sh.

* Fix permissions errors in test_tests.sh
2017-09-07 17:54:40 -07:00
Brad Warren
4c19d19cf5 Test that deploy and renew hooks are saved right
It is important that both renew and deploy hooks are saved as renew_hook in
renewal configuration files to preserve forwards compatibility.
2017-06-30 11:30:21 -04:00
Brad Warren
6dedfa62b6 Test renew and deploy hooks are run properly 2017-06-30 11:06:51 -04:00
Brad Warren
03f6c6d0e5 Bump min integration test coverage to 64 (#4868) 2017-06-21 21:08:37 -07:00
Brad Warren
3cb92d33eb report and enforce coverage on integration tests (#4854) 2017-06-21 14:10:16 -07:00
Brad Warren
93f094a86e Test additional subcommands in integration tests (#4855)
* Test additional subcommands

* Test rollback

* quote original variable

* Specifically set installer to work around #4858.
2017-06-21 13:49:15 -07:00
Brad Warren
e0f3c05c02 Fix test_apache2.sh test farm test. (#4786)
tools/venv.sh cannot be used as the tests run on systems with Python 2.6 and
tools/venv.sh installs code that is not compatible with Python 2.6.
2017-06-06 15:48:00 -07:00
Brad Warren
0e4f55982a Remove unused readlink environment variable. (#4781)
The program readlink used to be used in integration tests so an environment
variable was used to handle differences in the executable on different systems.
This command is no longer used though so the variable can be removed.
2017-06-05 15:20:04 -07:00
Brad Warren
791fea43ec Add regression/system test for #4719 (#4739)
* Add regression/system test for #4719.

* Test for regressions with --help and invalid args.

* Handle expected failure properly.
2017-06-01 09:57:27 -07:00
Brad Warren
4a0c336484 modification-check.sh now fails if a command fails (#4746) 2017-05-26 14:41:59 -07:00
Brad Warren
8c29cb0810 Force nginx tests to run during CI (#4558)
* force nginx tests to run during CI

* offer default value
2017-05-16 12:19:07 -07:00
Yen Chi Hsuan
51ae69698d Allow boulder-fetch.sh run with ip from iproute2 (#4620) 2017-05-05 08:49:54 -07:00
Brad Warren
5ca8f7c5b9 Add lockfile (#4449)
* add lock_file

* cleanup lock file

* Add LockFile tests

* add lock_dir

* add lock_dir_until_exit

* add set_up_core_dir and move lock_dir_until_exit

* Move lock_and_call to certbot.test.util

* Add lock to Apache

* Add lock to the Nginx plugin

* Improve permissions error message

* sort plugins

* add test_prepare_order

* provide more actionable permissions error

* Document and catch use of OSError

* don't lock a directory twice

* add conditional dependency on ordereddict

* Add lock_test

* expand sorted plugins comment

* Add lock_test to lint

* make make_lineage more conventional and flexible

* enhance lock_test.py

* add lock_test to tox

* Readd success message

* make py26 happy

* add test_acquire_without_deletion
2017-05-01 14:49:12 -07:00
Yen Chi Hsuan
29d25f0915 Enable boulder tests on Python 3 2017-04-15 02:32:18 +08:00
Jacob Hoffman-Andrews
d5f1edf2bb Dump Boulder logs on integration test failures. (#4442)
Might help debug #4363.

Also:

make "bash" vs "sh" explicit
move the paranoia flags (-ex) from the shebang into the body
add -u (fail on unset variables)
change _common to work with -u
remove some env vars that were no longer used
remove shebang from _common.sh because it's meant to be sourced, not run
2017-03-29 16:48:08 -07:00
Yen Chi Hsuan
6fb78dab67 Fix Docker IP detection with different ifconfig output formats (#4376) 2017-03-29 13:34:09 -07:00
Brad Warren
5e6a6f51d3 Fix test_leauto_upgrades.sh (#4278)
* fix-test-leauto-upgrades

* redirect stderr

* redirect stderr part 2
2017-03-02 10:31:37 -08:00
Brad Warren
0d8a4b4ebd Make mod-check more flexible (#4268)
* fixes #4166

* Run mod-check from anywhere

* pass TRAVIS_BRANCH through in tox
2017-02-28 15:17:07 -08:00
Erica Portnoy
52ce335ff0 lineage_for_certname should return None if there is no existing renewal file (#4243)
* lineage_for_certname should return None if there is no existing renewal file

* add unit test

* add regression test to integration test

* revent boulder-start to boulder-fetch
2017-02-23 18:31:23 -08:00
Jacob Hoffman-Andrews
ebf5170d12 Update testing docs. (#4211)
Recommend faster-running commands with clearer output first, building up to
slow, noisy, `tox` last.

Remove outdated Boulder testing advice, and outdated Boulder testing scripts
(Vagrantfile, mac-bootstrap.sh, boulder-start.sh). Update Boulder testing
section.

Fill out "directory structure" section of contributing guide a little better.
2017-02-16 12:39:17 -08:00
Jacob Hoffman-Andrews
94aa562cf2 Use latest Boulder for Travis tests. (#4180) 2017-02-14 21:19:18 -08:00
Brad Warren
7f3c732bbf Cleanup test farm tests and add test_sdists (#4089)
* add get_certbot_version.sh

* Use get_certbot_version.sh in build.py

* make test_leauto_upgrades.sh more robust

* auto upgrades break tests

* OCSP experimental is not needed anymore

* Add test_sdists.sh

* Use LE_AUTO_VERSION, not repo version

* install OS deps earlier

* use readlink not realpath

* undo changes to build.py

* Factor out version code from build.py

* Use version.py in test_sdists

* Remove get_certbot_version

* workaround setuptools breakage
2017-01-30 19:37:23 -08:00
Josh Soref
6a39a42f45 Spelling (#4101)
* spelling: action

* spelling: artifacts

* spelling: asymmetric

* spelling: attempts

* spelling: bizarre

* spelling: certbot

* spelling: certificate

* spelling: certainly

* spelling: challenge

* spelling: client

* spelling: collated

* spelling: correct

* spelling: considered

* spelling: custom

* spelling: distinguish

* spelling: encoding

* spelling: enhancement

* spelling: equivalent

* spelling: execution

* spelling: existence

* spelling: failed

* spelling: handshake

* spelling: hyphen

* spelling: initialized

* spelling: initialization

* spelling: interpretation

* spelling: letsencrypt

* spelling: multiline

* spelling: multipart

* spelling: necessary

* spelling: otherwise

* spelling: output

* spelling: overridden

* spelling: positives

* spelling: preferable

* spelling: progress

* spelling: recommended

* spelling: referring

* spelling: relativity

* spelling: request

* spelling: requiring

* spelling: separate

* spelling: source

* spelling: specified

* spelling: standard

* spelling: successfully

* spelling: unparseable

* spelling: useful
2017-01-26 16:21:54 -08:00
Brad Warren
fe03c5a14c fix integration tests (#4111) 2017-01-26 14:08:22 -08:00
Brad Warren
4d860b37b0 Preserve preferred-challenges on renewal (#4112)
* use challenge type strings, not objectS

* Factor out parse_preferred_challenges

* restore pref_challs

* save pref_challs

* Make CheckCertCount more flexible

* improve integration tests

* Make pref_challs more flexible
2017-01-25 18:40:22 -08:00
Brad Warren
44f2d4aa20 Fix modification-check.sh (#4091)
* Run build.py

* Restore letsencrypt-auto after running build

* Remove temp_dir before exiting

* add missing $
2017-01-24 14:37:41 -08:00
Craig Smith
fe358600ab Add cleanup trap to integration test script (#4075)
The integration test script spins up Python webservers. This trap will
ensure that those webservers are shutdown at exit.
2017-01-18 10:41:53 -08:00
Blake Griffith
49d46ef99a Impelment account deactivation [revision requested] (#3571)
Impelment account deactivation
2017-01-17 16:00:07 -08:00
Craig Smith
94c23479e2 Add option to specify revocation reason (#3242) (#3988)
This includes two new tests in the integration test script to check that
boulder gets the correct code. The encoding is specified in RFC5280
5.3.1. The codes that boulder will accept are a subset of that,
specified in `boulder.revocation.reasons.go`.
2017-01-11 18:26:55 -08:00
Lipis
bba5d7d950 Rename OS X -> macOS (#3965)
* Rename OS X -> macOS

* Revert *-auto
2017-01-10 12:24:15 -08:00
Brad Warren
13ed5c06ea Merge pull request #3956 from certbot/ocsp
Further OCSP improvements
2017-01-05 16:05:19 -05:00
Brad Warren
2e23a295d3 Use sudo... 2017-01-05 11:47:28 -08:00
Brad Warren
3b460cea71 cleanup test scripts 2017-01-05 11:40:59 -08:00
Brad Warren
6923e2eb03 change != to -ne 2017-01-05 11:17:20 -08:00
Brad Warren
f6289dbba8 Correct path to venv 2017-01-05 11:12:36 -08:00
Peter Eckersley
3e7f64dfe8 Pre-release variant of OCSP testing 2017-01-04 17:53:41 -08:00
Brad Warren
05afb54522 Fix and cleanup CheckHooks 2017-01-04 13:39:46 -08:00
Brad Warren
7fb4e6627c HOOK_TEST++ 2017-01-04 13:12:50 -08:00
Brad Warren
42b0188519 Merge branch 'master' into save-more-hooks 2017-01-04 12:24:53 -08:00
Peter Eckersley
f4baf1fc39 Fix test 2016-12-23 10:48:14 -08:00
Peter Eckersley
b02ce53354 Test farm tests for openssl-based revocation checking 2016-12-23 00:20:38 -08:00
Peter Eckersley
0bcbf1d0a7 WIP 2016-12-22 23:07:00 -08:00
Brad Warren
39f5551305 Merge the manual and script plugins (#3890)
* Start of combined manual/script plugin

* Return str from hooks.execute, not bytes

* finish manual/script rewrite

* delete old manual and script plugins

* manually specify we want chall.token

* use consistent quotes

* specify chall for uri

* s/script/hook

* fix spacing on instructions

* remove unneeded response argument

* make achall more helpful

* simplify perform

* remove old test files

* add start of manual_tests

* fix ParseTest.test_help

* stop using manual_test_mode in cli tests

* Revert "make achall more helpful"

This reverts commit 54b01cea30.

* use bad response/validation methods on achalls

* simplify perform and cleanup environment

* finish manual tests

* Add HTTP manual hook integration test

* add manual http scripts

* Add manual DNS script integration test

* remove references to the script plugin

* they're hooks, not scripts

* add --manual-public-ip-logging-ok to integration tests

* use --pref-chall for dns integration

* does dns work?

* validate hooks

* test hook validation

* Revert "does dns work?"

This reverts commit 1224cc2961.

* busy wait in manual-http-auth

* remove DNS script test for now

* Fix challenge prefix and add trailing .

* Add comment about universal_newlines

* Fix typo from 0464ba2c4

* fix nits and typos

* Generalize HookCOmmandNotFound error

* Add verify_exe_exists

* Don't duplicate code in hooks.py

* Revert changes to hooks.py

* Use consistent hook error messages
2016-12-22 08:24:08 -08:00
Brad Warren
ae379568b1 Mitigate problems for people who run without -n (#3916)
* CLI flag for forcing interactivity

* add --force-interactive

* Add force_interactive error checking and tests

* Add force_interactive parameter to FileDisplay

* add _can_interact

* Add _return_default

* Add **unused_kwargs to NoninteractiveDisplay

* improve _return_default assertion

* Change IDisplay calls and write tests

* Document force_interactive in interfaces.py

* Don't force_interactive with a new prompt

* Warn when skipping an interaction for the first time

* add specific logger.debug message
2016-12-19 12:45:40 -08:00
Peter Eckersley
0c2dc60484 Integration tests for hooks 2016-12-15 17:28:16 -08:00
Peter Eckersley
93f0846fa4 Testfarm test new leauto (#3845)
Test farm tests should test the version of letsencrypt-auto that's in the git tree, not the one from the previous release.


* Test the new leauto, not the previously released one
2016-12-05 09:09:43 -08:00
Amjad Mashaal
88a2c5a8f6 Testing the output of build.py against lea-source/lea (#3460)
* Testing the output of build.py against lea-source/lea

* Replacing realpath with readlink
2016-10-28 10:50:07 -07:00
Jacob Hoffman-Andrews
88076e46c7 Improve debug logs. (#3126)
Print request and response bodies with newlines, rather than all on one line.
Remove "Omitted empty field" log, which gets logged meaninglessly for every JSON
serialization.
Remove duplicated logging of responses.
Log the base64 version of the nonce, rather than turning it into bytes and
logging the backslash-escaped version of those bytes.
Only pass -vv in tests.
2016-10-26 18:07:33 -07:00
Erica Portnoy
d54cb76432 Remove the curses dialog, thereby deprecating the --help and --dialog command line options (#3665)
* Remove the curses dialog, thereby deprecating the --help and --dialog command line options

* Deprecate --dialog and suppress --text
2016-10-21 15:45:57 -07:00
Brad Warren
91deb6ec53 Add test_tests.sh (#3633) 2016-10-17 13:11:24 -07:00
Brad Warren
a5df9e5a0e Only verify required ports are available (#3608)
* only verify port is available when you actually need it

* refactor code to create achalls

* Test port checks are based on achall

* test that only the port for the requested challenge is checked in standalone
2016-10-10 18:44:39 -07:00
Peter Eckersley
3c85ecbfee Test farm test fixes (#3582) 2016-10-04 16:45:24 -07:00
Brad Warren
a54d9061ba Merge pull request #3342 from TheNavigat/test-modification
Adding modification check against the current /letsencrypt-auto
2016-08-29 10:16:20 -07:00
Amjad Mashaal
cd5b91e4ae Adding root certbot-auto to modification check 2016-08-27 19:14:42 +02:00
Brad Warren
fd1629e347 Make letstest docker ip more robust 2016-08-10 11:51:12 -07:00
Brad Warren
dd1de2bc9e Fix travis 2016-08-10 11:49:55 -07:00
Amjad Mashaal
1fdf41e636 Adding modification check against the current /letsencrypt-auto 2016-08-04 14:22:20 +02:00
Ben Irving
61b77766c2 Add integration test cases for must staple and ECDSA (#3158) 2016-06-14 11:28:29 -07:00
Jacob Hoffman-Andrews
0fb3704dce Use a real branch name. 2016-05-25 15:43:54 -07:00
Jacob Hoffman-Andrews
94588b1a91 Check out a specific version of Boulder.
A recent Boulder change broke integration tests, this fixes it.
2016-05-25 15:23:56 -07:00
bmw
dda48b50b0 Merge pull request #3009 from sagi/fix_cert_path
certonly subcommand - If cert_path provided - do not uniquify  it
2016-05-25 12:47:56 -07:00
Jacob Hoffman-Andrews
c01e2c259a Check out Boulder master instead of branch. 2016-05-24 15:38:03 -07:00
sagi
b54497d814 Fix chain filename 2016-05-24 19:33:13 +00:00
Jacob Hoffman-Andrews
2cfcfd6988 Run Boulder via docker-compose in tests.
This removes a lot of setup code we used to need in order to get Boulder to run,
and should reduce brittleness of tests based on Boulder changes.

This also unblocks Boulder from upgrading to MariaDB 10.1 in integration tests,
since changing to 10.1 syntax for user creation would break the current certbot
integration tests (which run 10.0).
2016-05-23 18:40:25 -07:00
sagi
c0228ef1aa Boulder integration scripts provides a cert_path 2016-05-16 22:11:15 +00:00
Brad Warren
5c0eabcd76 Rename LETSENCRYPT_PATH to CERTBOT_PATH 2016-05-06 17:42:25 -07:00
Brad Warren
4627971dc6 s/--letsencrypt/--certbot 2016-05-06 17:30:18 -07:00
Brad Warren
3780d068d1 Fix test farm tests 2016-04-19 14:11:17 -04:00
Noah Swartz
842b609dad Merge pull request #2841 from letsencrypt/module-rename
Module rename
2016-04-14 17:35:09 -07:00
Brad Warren
e353f8fabc letstest is a Certbot integration test tool 2016-04-14 17:16:48 -07:00
Brad Warren
b4f6ed8470 rename letstest stuff 2016-04-14 17:10:27 -07:00
Brad Warren
75a1d81458 More stray ncrypt reference cleanup 2016-04-14 17:04:23 -07:00
Brad Warren
ae6f1c62f1 Rename misc files 2016-04-14 10:20:23 -07:00
Brad Warren
7228c0c9ed 'co' is not a git command 2016-04-14 08:57:34 -07:00
Brad Warren
a43fac3277 s/letsencrypt/certbot letsencrypt-nginx tests 2016-04-13 16:45:54 -07:00
Eric Engestrom
2f3035de0e Fix spelling mistakes 2016-04-02 15:50:09 +01:00
Kane York
902ab9afdf Work around leap day bug in parsedatetime 2016-02-29 10:58:14 -08:00
Peter Eckersley
f4c33656a2 Try to finally prevent dangling AWS volumes 2016-02-23 12:08:01 -08:00
Peter Eckersley
607c48d0a3 [test farm] Fix use of the newleauto in test_letsencrypt_auto_certonly_standalone.sh 2016-02-15 12:08:20 -08:00
Peter Eckersley
29737ab2ca More hacky fixes 2016-02-10 19:24:25 -08:00
Peter Eckersley
1f31cf1a30 Quick test farm fix 2016-02-10 19:09:05 -08:00
Peter Eckersley
0513af83f4 Test CLI flag setting from renewal integration tests
Closes: #2411
2016-02-09 16:09:02 -08:00
Peter Eckersley
3a3d778f3d Merge pull request #2383 from erikrose/replace-le-auto
Make the new letsencrypt-auto script the main one. [requires minor revision]
2016-02-09 09:21:49 -08:00
Brad Warren
0fa61f4192 Use common and add verb 2016-02-08 18:46:24 -08:00
Brad Warren
8b613eed8f Pass additional args to letsencrypt_test_no_force_renew 2016-02-08 18:39:59 -08:00
Brad Warren
2170c8d7d2 Move * outside of " 2016-02-08 18:35:44 -08:00
Brad Warren
e798b62d2e Testing cleanup 2016-02-08 18:18:48 -08:00
Brad Warren
7a902daa9f duplication-- 2016-02-08 18:14:29 -08:00
Brad Warren
70402790a3 Use --non-interactive instead of --text 2016-02-08 18:07:56 -08:00
Brad Warren
8eb889d942 Make CheckCertCount check cert counts 2016-02-08 17:55:28 -08:00
Brad Warren
38a6d44279 Remove round echos 2016-02-08 17:54:39 -08:00
Brad Warren
bb2f054f1b Take boulder-integration.sh from #2398 2016-02-08 17:54:02 -08:00
Seth Schoen
fd3d2fa822 Make _no_force_renew not force renewal 2016-02-05 17:19:39 -08:00
Seth Schoen
8b02f485b0 Have a way not to force renewal in integration test 2016-02-05 17:13:30 -08:00
Seth Schoen
09337517d3 Try to distinguish renew and non-renew in integration test 2016-02-05 16:57:41 -08:00
Erik Rose
505e66b57c Move the venv setup scripts to the tools folder.
They were the last things left in the bootstrap folder, and they were lonely.
2016-02-05 18:31:41 -05:00
Erik Rose
192c3faf7e Make the new letsencrypt-auto script the main one.
Remove the old bootstrap scripts, which have been subsumed into letsencrypt-auto-source/pieces/bootstrappers. They no longer need to be dispatched among manually: everyone can just run letsencrypt-auto --os-packages-only, regardless of OS.

Make the root-level le-auto a symlink to the canonical version. It should thus still work for people running le-auto from a git checkout.
2016-02-05 15:28:11 -05:00
Seth Schoen
375543eb32 Hoping to see if integration test is really renewing 2016-02-04 14:43:05 -08:00
Noah Swartz
dc9a51b2e6 make a robust test script 2016-02-04 09:38:45 -08:00
Noah Swartz
8fdcb772d9 return failure 2016-02-04 09:29:11 -08:00
Noah Swartz
1c52e1982c made test for renew verb 2016-02-03 17:49:08 -08:00
Brad Warren
fd4d390ac2 No renewer test 2016-02-03 14:52:23 -08:00
Seth Schoen
a706f5c8c0 Try to add the new renew verb to integration testing 2016-02-03 13:53:42 -08:00
Roy Wellington Ⅳ
9c28364477 Make exception syntax Python 3 compatible.
Translate all except and raise statements that are in the old form to
the Python 3 compatible format.
2016-01-30 19:53:50 -08:00
Peter Eckersley
b7c33ceeb8 Merge branch 'master' into leauto-upgrades 2016-01-27 15:35:46 -08:00
Peter Eckersley
904f44864e rm stray print 2016-01-22 16:44:54 -08:00
Peter Eckersley
b8281fdd34 Retry in case of ephemeral errors 2016-01-20 14:25:01 -08:00
Peter Eckersley
122a36ebd2 the || isn't right for update 2016-01-20 14:22:28 -08:00
Peter Eckersley
15cc9e1826 [test_leauto_upgrades] actually use everything from v0.1.0 for setup 2016-01-20 14:17:24 -08:00
Peter Eckersley
fffe965d68 Merge pull request #2018 from letsencrypt/faster-testfarm
[letstest] create and reuse a persistent boulder AMI
2016-01-07 07:40:42 -08:00
Peter Eckersley
b6531afb8d Merge pull request #1992 from letsencrypt/apache-conf-test
Apache conf tests in travis
2016-01-02 17:49:38 -08:00
Peter Eckersley
df56e850d3 Merge remote-tracking branch 'origin/master' into faster-testfarm 2015-12-25 11:38:43 -08:00
Peter Eckersley
3e1bc19e0f Optional flag for faster AMIs 2015-12-25 10:43:52 -08:00
Peter Eckersley
6029bd5fe4 Merge pull request #2013 from letsencrypt/testfarm
Fixes to test farm scripts
2015-12-25 03:20:15 -08:00
Peter Eckersley
e0837ad41f [letstest] create & reuse a persistent boulder server
Reduces minimum multitester.py runtime to just a bit under 10 minutes
2015-12-25 02:39:48 -08:00
Peter Eckersley
dc5c0933df Definitely need --debug for this 2015-12-24 21:39:28 -08:00
Peter Eckersley
c271dc58ce Fix the letsencrypt-auto update script 2015-12-24 20:55:44 -08:00
Peter Eckersley
49721c7d01 Merge remote-tracking branch 'letstest/upgrade-test' into testfarm 2015-12-23 15:14:30 -08:00
bmw
d6003e26fa Merge pull request #1971 from letsencrypt/testfarm
Import letstest test farm (with less git magic)
2015-12-23 11:33:39 -05:00
Peter Eckersley
ef1973ae28 Move recently included tests to the new apache-conf-test location 2015-12-22 15:58:09 -08:00
Peter Eckersley
c77a6fa674 Merge remote-tracking branch 'origin/master' into apache-conf-test 2015-12-22 15:57:20 -08:00
Dominic Cleal
bccff905db Add passing test for quote inside RewriteRule
Already fixed recently by commit a72e498.

Closes: #1960
2015-12-22 22:14:53 +00:00
Peter Eckersley
d777e7faba This sort of works in tox; travis is unlikely due to sudo 2015-12-21 16:09:26 -08:00
Peter Eckersley
9129dcbc87 Make sure there's always a domain name to prompt a question 2015-12-21 16:09:25 -08:00
Peter Eckersley
d0810a1306 Merge remote-tracking branch 'letstest/git-move-to-subdir' into testfarm 2015-12-21 11:15:35 -08:00
Peter Eckersley
87dfe8c2b2 Move everything into tests/letstest 2015-12-21 11:12:01 -08:00
Dominic Cleal
a72e498c97 Merge Augeas lens fix for quotes in directive arguments
From d4d7ea9771

Closes: #1934
2015-12-18 08:11:19 +00:00
Dominic Cleal
3e7072e131 Add failing test from ticket #1934
Augeas fails to parse a directive argument with a quote inside (expecting
either fully quoted or unquoted values).
2015-12-18 08:09:00 +00:00
Peter Eckersley
babb33991b Neaten things with a Setup() function 2015-12-16 19:51:45 -08:00
Peter Eckersley
9013fecc9c Prep for testfarming. 2015-12-16 19:41:35 -08:00
Peter Eckersley
bf764e4852 Support appending to non-Debianish Apache setups 2015-12-16 18:38:49 -08:00
Peter Eckersley
3c6af7094c Bugfix, and use --staging 2015-12-16 17:21:47 -08:00
Peter Eckersley
52705107ff let the environment determine how letsencrypt is run 2015-12-16 17:01:36 -08:00
Peter Eckersley
e7226d2804 Automate testing with the apache-conf-library 2015-12-16 16:45:38 -08:00
Peter Eckersley
16f66acba7 Merge pull request #1869 from letsencrypt/apache-conf-library
Apache conf library
2015-12-11 12:34:35 -08:00
Peter Eckersley
0fa4b4c93f This is a hackish script to run all of these "tests". 2015-12-11 12:21:54 -08:00
Peter Eckersley
6fc65505f7 Add test case for #1724 2015-12-11 12:21:48 -08:00
Peter Eckersley
de9e43de0c Update apache conf library 2015-12-11 12:21:43 -08:00
Peter Eckersley
bdfca70d55 Another #1531 2015-12-11 12:21:33 -08:00
Peter Eckersley
2321237d1e Embodiement of Apache bug #1755 2015-12-11 12:21:24 -08:00
Peter Eckersley
a878e48624 Add another failing case 2015-12-11 12:21:18 -08:00
Dominic Cleal
6b40313311 Merge Augeas lens fix for partially quoted arguments
From 50fb756580

Closes: #1724
2015-12-10 14:37:58 +00:00
Dominic Cleal
5804d03336 Add failing test from ticket #1724
Augeas fails to parse the ErrorDocument argument that starts with a
double quote and ends with an EOL.
2015-12-10 14:36:25 +00:00
Peter Eckersley
ce14851232 Merge pull request #1809 from domcleal/1693-augeas-section-ends
Merge Augeas lens fix for closing multiple sections on one line
2015-12-08 23:43:15 -08:00
Dominic Cleal
d761646167 Merge Augeas lens fix for SSLRequire wordlists
From f86a28d03a

Closes: #1766
2015-12-08 08:09:45 +00:00
Dominic Cleal
f479497d6c Add failing test from ticket #1766
Augeas fails to parse the wordlist (args inside braces) in the
SSLRequire directive.
2015-12-08 08:09:45 +00:00
Peter Eckersley
3838ea4ad1 Merge pull request #1692 from letsencrypt/1531
Merge augeas lens fix for backslashes at the start of regexps
2015-12-08 00:01:53 -08:00
Dominic Cleal
312669c64d Merge Augeas lens fix for closing multiple sections on one line
From f44a7a55cc

Closes: #1693
2015-12-07 10:49:40 +00:00
Peter Eckersley
3add88c641 Add another apache conf test case 2015-12-03 15:25:54 -08:00
Peter Eckersley
55d51530d9 This should fix parsing of drupal .htaccess files 2015-12-03 12:56:29 -08:00
Brad Warren
462139fca9 Kill --agree-dev-preview 2015-12-01 16:51:05 -08:00
Brad Warren
1e3cca8e5c Added simple confs and compatibility-test tarball 2015-11-30 21:09:40 -08:00
bmw
11a056f3c6 Merge pull request #1641 from letsencrypt/apache-conf-library
Start a library of apache2 conf files for tests
2015-11-30 21:04:29 -08:00
Jacob Hoffman-Andrews
4072ff3e1a Run RabbitMQ setup during test setup.
This was recently introduced on the Boulder side.

Note: long-term we want to have the client tests run the same setup steps as
Boulder does, with the same script. This is a quick fix to unbreak the build.
2015-11-30 19:58:38 -08:00
Peter Eckersley
bbc9cf3b6e Start a library of apache2 conf files for tests
With examples of passing and failing conf files sourced from our github
tickets.
2015-11-30 19:49:23 -08:00
Peter Eckersley
7901c59cd0 Merge pull request #1524 from letsencrypt/email
Better UI when asking for email
2015-11-20 19:16:02 -08:00
Peter Eckersley
f74da52320 Avoid hacky --email "" case for integration tests 2015-11-17 16:06:49 -08:00
Jeff Hodges
d3806a926c use boulder's integration-test.py
This prevents the integration tests from getting run before the boulder
processes have finished booting in most cases. There's still some small
races with debug ports going up before RPC ports, but this flushes the
big ones (specifically, the WFE ports), and the boulder devs going to
fix the rest in integration-test.py over time.

This also makes boulder-start.sh a blocking operation. Now the TravisCI
integration tests no longer requires boulder-start.sh, we can let the
other priority of being easier for users to control (that is, basically,
make it easy to Ctrl-C) take over. That plus the idea that
self-daemonizing code is tricky to get right, especially over multiple
platforms led me to not trying to get start.py to make itself
asynchronous.

Most of this change is code movement in order to allow developers to run
boulder-start.sh once and boulder-integration.sh many times while also
not duplicating that code in order to run the tests in TravisCI.

I'm not a huge fan of both the letsencrypt's shell scripts and boulder's
integration-test.py having hard-coded file dependencies in the other's
repo.

This, however, seemed like the smallest path to code that would
spuriously break less. All the designs I was able to come up that were
maybe smaller changes either had the "starts tests before the servers
are up" problem or with a "each repo uses another repo's test code file"
problem. Those problem on top of the "it's a bigger change" problem led
me here.
2015-11-13 12:39:29 -08:00
Joona Hoikkala
56f21e1d35 Refactor --domain flag back to -- domains 2015-11-12 16:53:40 +02:00
Joona Hoikkala
3074ef996a Refactored the argument and the code to use --domain instead of --domains, which was semantically incorrect 2015-11-10 12:29:08 +02:00
Jakub Warmuz
5e8ed2bbd2
--dvsni-port -> --tls-sni-01-port 2015-11-07 18:24:17 +00:00
Jakub Warmuz
93e69ef7de
tls-sni-01 for standalone 2015-11-07 18:24:17 +00:00
Jakub Warmuz
23d3c3b1e2
Rename --simple-http-port to --http-01-port 2015-11-01 11:01:23 +00:00
Jakub Warmuz
ea3611afe6
http-01 for standalone 2015-11-01 11:01:22 +00:00
Brad Warren
6906f293e5 Install listenbuddy 2015-10-27 22:35:17 -07:00
root
b13006ce1a Change -n flag in _commit.py to --no-redirect for clarity. 2015-10-25 00:14:46 +01:00
root
1f6cc52e66 Fix integration test bug 2015-10-25 00:07:00 +01:00
root
e8f90ff993 Add flag in to _common.sh integration test 2015-10-24 23:59:36 +01:00
Jakub Warmuz
aa4641b3b0
--agree-dev-preview
`git grep -i eula` to the rescue
2015-10-20 19:33:27 +00:00
Jakub Warmuz
6eae746735
Clean up after simplehttp port change to 5002.
Now, when https://github.com/letsencrypt/boulder/pull/998 is in, we
can remove all quick fixes for
https://github.com/letsencrypt/boulder/issues/985.
2015-10-17 18:06:21 +00:00
Jakub Warmuz
78c296bbd1
Integration tests: force le3.wtf over DVSNI.
Becuse of https://github.com/letsencrypt/boulder/issues/985, we need
to force standalone to one particular type of challenge at a
time. #895 didn't fix it properly - it forgot about issuance of
le3.wtf (CSR-initiated), which results in Travis builds failing 50% of
a time,
e.g. https://travis-ci.org/letsencrypt/letsencrypt/jobs/85875483#L3318.
2015-10-17 07:43:07 +00:00
Jakub Warmuz
523c7c3369
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-16 06:39:23 +00:00
David Dworken
0614fba9df Make the script POSIX compliant so it works with dash (Fixes #977) 2015-10-15 20:21:41 -04:00