Commit graph

421 commits

Author SHA1 Message Date
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
Jacob Hoffman-Andrews
b9b2114b33 Merge pull request #994 from kuba/simplehttp-5002
Integration tests: SimpleHTTP on port 5002.
2015-10-15 15:14:39 -07:00
Jacob Hoffman-Andrews
22b8446efb Get precompiled Goose from GithHub.
Rather than fetching from bitbucket and building. Bitbucket is often down, and
building from scratch is slow. Github is sometimes down, but at least now we
have our eggs in one basket.
2015-10-15 14:32:52 -07:00
Jakub Warmuz
d1b7b0553f
Back to 5001, but with env var 2015-10-15 20:53:47 +00:00
Jakub Warmuz
5043574093
Integration tests: SimpleHTTP on port 5002.
Should be pulled by @jsha in lockstep with
6b8f1c2700.
2015-10-15 20:42:49 +00:00
Jakub Warmuz
18ddcc72f6
More quickfix for boulder#985 2015-10-14 19:40:07 +00:00
Jakub Warmuz
99a31463b0
Fix typo: porta -> port 2015-10-14 19:23:33 +00:00
Jakub Warmuz
371daa42ca
Quickfix for boulder#985 2015-10-14 19:16:30 +00:00
Jakub Warmuz
73ae361559
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-12 19:36:46 +00:00
Brandon Kreisel
8012382368 Merge branch 'master' into mac-psutil 2015-10-08 16:04:25 -04:00
Jakub Warmuz
1efec6b399
Merge remote-tracking branch 'github/letsencrypt/master' into standalone2 2015-10-07 20:07:01 +00:00
Jakub Warmuz
f0214ddf9a
Merge commit 'a2c41ca7f539303cb413ba3e73d3669633063150' into standalone2 2015-10-07 19:07:44 +00:00
Jakub Warmuz
e4e94b20d4
Remove --no-simple-http-tls from integration tests 2015-10-07 06:23:40 +00:00
Brandon Kreisel
c9e28309ed Define constants for OS specific executables 2015-10-04 20:08:38 -04:00
Jakub Warmuz
827c66c667
Integration tests: standalone dvsni and simpleHttp. 2015-10-04 19:19:36 +00:00
Brandon Kreisel
a4d0188d21 Add Mac compatibility to integration tests 2015-10-03 12:50:18 -04:00
Brandon Kreisel
8409c9c658 Meddle with more documentation and learn how to bash flag 2015-10-03 11:27:39 -04:00
Brandon Kreisel
895faa7dc9 Add OS X bootstrap for integration enviornment
Installs requirements and sets up environment to run boulder and
integration tests
2015-10-02 22:36:56 -04:00
Brandon Kreisel
b6bbc9e0a2 Add inline Mac comment 2015-09-28 17:39:01 -04:00
Brandon Kreisel
756cfb75ef Merge remote-tracking branch 'upstream/master' 2015-09-27 14:58:34 -04:00
Brandon Kreisel
cbfdae88fc Add Mac compatibility to boulder-start
The version of sort that ships with OS X does not support the -V
version flag. Emulate that functionality with some sed-fu
2015-09-27 14:44:00 -04:00
James Kasten
8dc345a3a0 address naming conventions 2015-09-26 16:04:44 -07:00
James Kasten
395da0d7d5 Merge branch 'master' into fix_771
Conflicts:
	letsencrypt/cli.py
2015-09-25 20:11:15 -07:00
James Kasten
add23360a5 Take away confirmation screen for testing 2015-09-25 20:04:34 -07:00
James Kasten
5cc9061413 Merge pull request #780 from letsencrypt/integration
Make boulder-start.sh more robust & helpful
2015-09-23 14:18:06 -04:00
Peter Eckersley
740f516561 Make boulder-start.sh more robust & helpful 2015-09-16 19:09:04 -07:00
Jakub Warmuz
03e2f043df
Address #726 review comments 2015-09-16 06:49:04 +00:00
Jakub Warmuz
67d6b89382
Fix paths in integration testing 2015-09-09 20:54:11 +00:00
Jakub Warmuz
94fa851b01
Merge branch 'acme-directory' into revocation 2015-09-09 20:45:57 +00:00
Jakub Warmuz
ed051b7c28
Boulder Monolithic does not exist 2015-09-09 20:40:04 +00:00
Jakub Warmuz
c93564b99e
Travis: update --server to point at directory 2015-09-09 20:22:38 +00:00
Jakub Warmuz
302e3ceb7d
Revocation: integration testable 2015-09-09 20:04:28 +00:00
Brad Warren
3fed72f9ce Installs goose for boulder's create_db.sh 2015-08-27 11:22:38 -04:00
Jakub Warmuz
667ee132f4
boulder-start.sh: revert -e (fail faast) 2015-08-22 09:22:35 +00:00
Jakub Warmuz
cdb9c8b964
boulder-start.sh: go get with ... 2015-08-22 09:22:35 +00:00
Brad Warren
bda953a2cb Removed conditional around create_db 2015-08-13 12:31:13 -07:00
Brad Warren
f39e6c672d Create databases in travis 2015-08-13 12:24:34 -07:00
Brad Warren
283ccbfc45 Removed -e 2015-08-05 17:28:08 -07:00
Brad Warren
ffd0d6d148 Removed go get 2015-08-05 17:13:10 -07:00
Brad Warren
62ea10cd6c Fixed travis issues? 2015-08-05 16:38:09 -07:00
James Kasten
c29c7a0b64 Merge pull request #637 from letsencrypt/integration-path
Fix path for integration test.
2015-07-29 17:05:38 -07:00
Jacob Hoffman-Andrews
06e21d3578 Fix path for integration test. 2015-07-29 15:53:09 -07:00
Jeff Hodges
584f19fef5 add comment for mktemp for @Kuba 2015-07-29 15:08:22 -07:00
Jeff Hodges
6a90737bbb make mktemp in integration tests work on OS X 2015-07-29 14:54:35 -07:00
James Kasten
da1d6acd59 Merge pull request #622 from kuba/manual-integration
Manual plugin integration testing
2015-07-24 00:03:26 -07:00
Jakub Warmuz
3825633f46
Merge remote-tracking branch 'github/letsencrypt/master' into manual-integration
Conflicts:
	letsencrypt/auth_handler.py
2015-07-19 07:49:32 +00:00
Jakub Warmuz
fe3c3be675
Travis: run Boulder in AMQP mode (fixes #620). 2015-07-18 19:31:56 +00:00
Jakub Warmuz
0d63c94b8e
Move nginx-boulder integration tests to subpkg dir. 2015-07-17 08:41:27 +00:00
Jakub Warmuz
5a15af5abe
Change integration nginx port to 8081.
Ref https://github.com/letsencrypt/boulder/issues/482.
2015-07-17 08:30:34 +00:00
Jakub Warmuz
7dc64e0387
Rewrite acccounts and registration.
Save accounts to:

    /etc/letsencrypt/accounts/www.letsencrypt-dmeo.org/acme/new-reg/ \
    kuba.le.wtf@2015-07-04T14:04:10Z/ \
    {regr.json,meta.json,private_key.json}

Account now represents a combination of private key, Registration
Resource and client account metadata. `Account.id` based on the
account metadata (creation host and datetime). UI interface
(`cli._determine_account`) based on the `id`, and not on email as
previously.

Add `AccountStorage` interface and `AccountFileStorage`,
`AccountMemoryStorage` implementations (latter, in-memory, useful for
testing).

Create Account only after Registration Resource is received
(`register()` returns `Account`).

Allow `client.Client(..., acme=acme, ...)`: API client might reuse
acme.client.Client as returned by `register()`.

Move report_new_account to letsencrypt.account, client.Client.register
into client.register.

Use Registration.from_data acme API.

achallenges.AChallenge.key is now the `acme.jose.JWK`, not
`le_util.Key`. Plugins have to export PEM/DER as necessary
(c.f. `letsencrypt.plugins.common.Dvsni.get_key_path`)

Add --agree-tos, save --agree-eula to "args.eula". Prompt for EULA as
soon as client is launched, add prompt for TOS.

Remove unnecessary letsencrypt.network. Remove, now irrelevant,
`IConfig.account_keys_dir`.

Based on the draft from
https://github.com/letsencrypt/letsencrypt/pull/362#issuecomment-97946817.
2015-07-09 06:43:45 +00:00
Jakub Warmuz
74ce332b5a
Manual SimpleHTTP integration tests. 2015-07-03 09:49:14 +00:00
James Kasten
1bd49cef82 Merge pull request #575 from kuba/nginx-integration
Do not include /etc/nginx/mime.types in nginx integration testing.
2015-07-02 09:22:11 -07:00
Jakub Warmuz
a7a863e1f2
Do not include /etc/nginx/mime.types in nginx integration testing.
This file (or /etc/nginx in whole) might not exist on the target
system.
2015-06-30 14:52:48 +00:00
James Kasten
abe1aa999a Merge pull request #568 from kuba/cover
Bump coverage
2015-06-29 09:04:41 -07:00
Jakub Warmuz
7abff038dc
Display tests: move test_visual to tests/display.py script. 2015-06-28 09:31:42 +00:00
Jakub Warmuz
096920b8b3
Refactor integration scripts, use --debug. 2015-06-27 13:34:23 +00:00
Jakub Warmuz
49b02e7740
Travis CI: test nginx plugin. 2015-06-27 09:20:37 +00:00
Jakub Warmuz
9652656e14
Integration tests for nginx plugin (without root). 2015-06-27 09:20:37 +00:00
Jakub Warmuz
79252e7940
Merge remote-tracking branch 'github/letsencrypt/master' into 485-cleanup
Conflicts:
	tests/boulder-integration.sh
2015-06-26 21:11:42 +00:00
James Kasten
3705594628 Merge pull request #554 from letsencrypt/renew_before_deploy
Try to renew certs before trying to deploy them
2015-06-26 16:25:30 -04:00
Jakub Warmuz
abbd2483a5
install --key-path (fixes #550) 2015-06-26 13:26:09 +00:00
Jakub Warmuz
c8dc9af7bf
Fix integration test for install. 2015-06-26 13:26:09 +00:00
Jakub Warmuz
7d775ae9f3
Add null installer, integration tests for install/run
Fixes #438.
2015-06-26 13:26:09 +00:00
Jakub Warmuz
3383dedbcf
boulder-integration.sh: SERVER env variable
Blocks https://github.com/letsencrypt/boulder/pull/416
2015-06-26 07:20:01 +00:00
Seth Schoen
fbb0058bcd Enable renewer test that was failing 2015-06-25 18:15:59 -07:00
Jakub Warmuz
eb149b9129
CLI debug log file 2015-06-25 19:55:16 +00:00
Jakub Warmuz
3ade1d13f3
Merge remote-tracking branch 'github/letsencrypt/master' into renewer
Conflicts:
	tests/boulder-integration.sh
2015-06-25 19:07:21 +00:00
Jakub Warmuz
040f434a61
Renewer integration tests for standalone. 2015-06-25 17:43:17 +00:00
Jakub Warmuz
4057734c33
Add integrations tests for CSR. 2015-06-25 16:05:25 +00:00
Jakub Warmuz
e0bc6aeb50
Travis CI setup for integration testing (fixes #530).
Candidate issues to be addressed:

- race condition: start.sh might fail to start Boulder WFE before
  ./tests/boulder-integration.sh is run (unlikely, but possible,
  leading to flaky tests)

- intertwined build logs (./start.sh boostraps in the background,
  integration test debug logs on server and client side)
2015-06-25 09:50:23 +00:00
Jakub Warmuz
8bde250ff2
boulder-integration.sh: agree-tos -> agree-eula, force standalone. 2015-06-25 08:25:10 +00:00
Jakub Warmuz
5f01a90ce6
Add simple Boulder integration test 2015-06-12 18:14:33 +00:00