Commit Graph

236 Commits

Author SHA1 Message Date
Jacob Hoffman-Andrews 43d573b438 Merge branch 'master' into goodkey-wfe 2015-09-10 15:20:55 -04:00
Jacob Hoffman-Andrews fa5b8e8891 Revert test.js to master.
The changes to use an existing key depended on Node 0.12, but Travis provides
Node 0.10 (unless you specify language: node and a version, but we have
language: go).
2015-09-10 07:51:40 -04:00
Jacob Hoffman-Andrews 998ffc79cb Do GoodKey checking in WFE. 2015-09-09 20:30:55 -04:00
Jacob Hoffman-Andrews 18e25ff67a Remove SERVER env var in integration test.
Per @Kuba, this is no longer needed for the letsencrypt client.
2015-09-09 16:54:13 -04:00
Jeff Hodges a16567c29b Merge pull request #740 from letsencrypt/checker-fix
Certificate checker fixes
2015-09-08 13:01:43 -07:00
Roland Shoemaker d5599c47c3 Fix expiry period check 2015-09-02 17:38:37 -07:00
Roland Shoemaker 37517052c7 Add checks for addresses in the loopback block and a bool to allow them for testing 2015-09-02 15:25:21 -07:00
Jeff Hodges f33b103a01 Merge pull request #601 from letsencrypt/blacklist
Use DNS blacklist/whitelist DB
2015-09-02 11:04:31 -07:00
Jeff Hodges 0d1af54d17 run make in parallel in TravisCI
This gets us down to 5-6 minute build times.

A new script had to be added to run make conditionally without allowing
builds with make failures to pass.
2015-09-01 16:50:27 -07:00
Jeff Hodges 03cb25c601 add actual error message to test.AssertError 2015-09-01 15:08:48 -07:00
Roland Shoemaker e54d3d322e Merge branch 'master' into blacklist 2015-08-31 15:39:24 -07:00
Jacob Hoffman-Andrews 1a65de71d5 Merge pull request #689 from letsencrypt/better-test-js
Test.js fixes
2015-08-30 08:05:58 -07:00
Jacob Hoffman-Andrews a7746d4e94 Merge pull request #643 from letsencrypt/cert-checker
Certificate checker
2015-08-28 16:05:57 -07:00
Jacob Hoffman-Andrews 0cda14b6cb Print error in Assert{,Not}Error. 2015-08-28 14:11:50 -07:00
Jacob Hoffman-Andrews 50722c7496 Add trailing commas. 2015-08-28 10:45:39 -07:00
Jacob Hoffman-Andrews a87baa34fa Update with review feedback. 2015-08-28 10:42:13 -07:00
Roland Shoemaker 3df37cc3db Merge branch 'master' into cert-checker 2015-08-27 23:26:46 -07:00
Jacob Hoffman-Andrews 8f5e4404c9 Test.js fixes
Always pass Content-Length header
Always use tls: true
Don't write terms of service contents to terminal: it might be a PDF
Separate out signing, posting, and printing code into acme.js
Use acme.js in revoke.js for better error reporting.
Check for PEM passed to revoke.js.

This is in response to some trouble JC had using the client to test in prod. In
particular, Akamai insists on Content-Length (we turned this off for a while to
match Boulder, but now it's back on), and the PEM / DER distinction was a
stumbling block.
2015-08-27 19:20:53 -07:00
Jacob Hoffman-Andrews 86383e1e16 Merge pull request #675 from letsencrypt/fatalf
Use Fatalf for all assert functions in test-tools
2015-08-27 14:20:31 -07:00
Jacob Hoffman-Andrews fc70f00fb3 Restore `exec` command to startservers.py.
Fixes https://github.com/letsencrypt/boulder/issues/671
2015-08-27 12:56:36 -07:00
Jacob Hoffman-Andrews ef9d30f81a Use Fatalf for all assert functions in test-tools
This makes the test terminate after the assertion failure. Especially in the
case of AssertNotError, this can avoid triggering an immediate nil dereference
panic that obscures the error message.
2015-08-26 23:50:48 -07:00
Roland Shoemaker 6ee8693fc1 Merge pull request #672 from letsencrypt/fix-test-failure-output
Fix error output in startservers.
2015-08-26 14:57:46 -07:00
Roland Shoemaker 3d3aba7cfa Typo 2015-08-26 12:25:26 -07:00
Roland Shoemaker 0689a962ee Merge master 2015-08-26 12:11:43 -07:00
Roland Shoemaker 2f406e2af0 Merge branch 'master' into blacklist 2015-08-26 12:09:21 -07:00
Roland Shoemaker 0e1e38011a Review fixes pt. 2 2015-08-26 12:09:15 -07:00
Jacob Hoffman-Andrews 18958e462b Merge pull request #669 from letsencrypt/test_mode
remove TestMode completely
2015-08-26 11:45:15 -07:00
Jacob Hoffman-Andrews 02c22c40aa Fix error output in startservers.
Previously startservers would crash with an error about concatenating NoneType and string, if there was a build erro.r
2015-08-26 10:12:29 -07:00
Jeff Hodges 283d8de59b remove TestMode completely
This removes TestMode from the boulder-va command, from ca.Config
(it was only used in the VA) and gets the integration config to specify
the ports it should use explicitly.

(It also removes a DBDriver field from ca.Config that was left over from
letsencrypt/boulder#624.)

Fixes #627.
2015-08-25 21:57:24 -07:00
Jeff Hodges 469253a9e3 fix some dregs in startservers.py
Changes this to use just communicate(), not the subprocess.PIPE stuff (which
apparently can do Weird Things)

Also rename the install variable to cmd in the install function
2015-08-25 21:42:48 -07:00
Roland Shoemaker e28fbdf465 Add goose schema + migration 2015-08-25 18:09:38 -07:00
Roland Shoemaker be751bd948 Merge master 2015-08-25 16:52:24 -07:00
Jeff Hodges 3a4fef4463 install boulder cmds in one cmd in startserver.py
This eases the CPU and thread requirements of our tests (by forking
less, not doing everything at once). It should also speed up the tests
by avoiding certain repetitive work.

Updates https://github.com/letsencrypt/letsencrypt/issues/712
2015-08-25 16:02:08 -07:00
Roland Shoemaker a053d543e3 Merge branch 'master' into cert-checker 2015-08-25 12:23:26 -07:00
Jeff Hodges 7b6f2894f7 add goose as the migration tool
This has required some substantive changes to the tests. Where
previously the foreign key constraints did not exist in the tests, now
that we use the actual production schema, they do. This has mostly led
to having to create real Registrations in the sa, ca, and ra tests. Long
term, it would be nice to fake this out better instead of needing a real
sa in the ca and ra tests.

The "goose" being referred to is <https://bitbucket.org/liamstask/goose>.

Database migrations are stored in a _db directory inside the relevant
owner service (namely, ca/_db, and sa/_db, today).

An example of migrating up with goose:

    goose -path ./sa/_db -env test up

An example of creating a new migration with goose:

    goose -path ./sa/_db -env test create NameOfNewMigration sql

Notice the "sql" at the end. It would be easier for us to manage sql
migrations. I would like us to stick to only them. In case we do use Go
migrations in the future, the underscore at the beginning of "_db" will
at least prevent build errors when using "..." with goose-created Go
files. Goose-created Go migrations do not compile with the go tool but
only with goose.

Fixes #111
Unblocks #623
2015-08-25 12:02:31 -07:00
Jacob Hoffman-Andrews 9b9dd76f54 Fix flaky OCSP.
If two OCSP responses were generated in the same second, the earlier would
previously take priority sometimes, leading to a "good" response for revoked
certificates and causing the OCSP integration test to be flaky.
2015-08-24 15:31:26 -07:00
Roland Shoemaker 37b28a20c0 Merge master 2015-08-24 12:20:26 -07:00
Jacob Hoffman-Andrews f6c21120b0 Add OCSP testing to integration test. 2015-08-20 09:37:24 -07:00
Roland Shoemaker 213d857026 Initial cert checker work 2015-08-19 19:34:02 -07:00
Roland Shoemaker 5e50104d65 Update boulder-config.json 2015-08-15 16:58:33 -07:00
Roland Shoemaker 4fb747ead1 Merge master 2015-08-15 16:50:57 -07:00
Jeff Hodges 5e97aa23c6 use MariaDB in the unit tests
And delete the uses of sqlite3
2015-08-14 17:13:15 -07:00
Roland Shoemaker 60478f13b0 Merge master 2015-08-14 16:46:09 -07:00
Jeff Hodges ae5fa728ea always set parseTime to true
There's no reason to not just enforce it in the code completely and not
worry about it elsewhere. If we need to extract code out of NewDbMap,
we'd need recombineURLForDB in it, anyhow.
2015-08-13 22:45:33 -07:00
Jacob Hoffman-Andrews 64987a3639 Merge pull request #599 from letsencrypt/mysql
use MariaDB in integration tests and start.py
2015-08-11 20:31:46 -07:00
Jeff Hodges 86390e312b require mysql+tcp:// as the scheme for db conns 2015-08-11 20:17:35 -07:00
Roland Shoemaker 5540729b56 Finished policy-loader 2015-08-10 14:32:53 -07:00
Roland Shoemaker 6315068ead Merge master 2015-08-10 11:58:02 -07:00
Jeff Hodges b08e6e0bad use MariaDB in integration tests and start.py
This changes moves from using SQLite in the integration tests and in the
test/boulder-config.json.

It does not port the unit tests over, unfortunately. That's a much more
invasive change.

This also updates the Dockerfile to include the MariaDB and RabbitMQ
requirements of start.py as well as adjusts the CMD to expose the
boulder server to the host machine. The Dockerfile also needed to have
its Go version bumped and the test.sh had to grow some explict
"function"s.

Updates #132
2015-08-07 23:22:52 -07:00
Jacob Hoffman-Andrews bcfb935472 Fail startservers.py when compile fails. 2015-08-07 17:55:43 -07:00