Commit graph

123 commits

Author SHA1 Message Date
ohemorange
23e6c28d80 Allow Nginx to insert include files with comments inside (#4666)
* add failing test case

* allow include files to insert comments

* lint
2017-05-15 15:30:50 -07:00
ohemorange
a5bd0cf50c Add a test for #4557 (#4609) 2017-05-02 18:37:54 -07:00
ohemorange
7016874243 Switch to using include directive for Nginx constants (#4557)
* Switch to using include directive for Nginx constants

* remove deprecated comment

* give better error message when attempting to insert an existing directive

* make code more readable

* add docstrings

* allow a duplicated directive if it's identical

* comment out precisely repeated directives

* add comments
2017-05-02 17:56:56 -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
ohemorange
1611df4120 Allow empty nginx blocks (#4555)
* modify test config file to allow valid config that fails to parse in parser.py

* make failing tests pass by fixing the problem
2017-04-26 18:44:06 -07:00
Erica Portnoy
52e22b22e5 Add additional Nginx parsing test case (#4440) 2017-03-30 07:47:36 -07:00
Erica Portnoy
ece68a1864 Update Nginx ciphersuites to use Mozilla Intermediate (#4426)
* Update Nginx ciphersuites to use Mozilla intermediate

* update tests to match new behavior
2017-03-27 15:19:03 -07:00
Erica Portnoy
7be2e79025 Fix nginx parser (#4296)
* rewrite nginx parser to allow everything that nginx does

* also make changes in tls_sni_01.py

* add test case with

* allow embedded variables

* allow empty ${} variable

* fix quotes

* un-special case if

* update all tests to reflect current parsing

* escape in QuotedString after merge

* add test cases for variable weirdness that are almost certainly nginx bugs

* update regex for correct variable rules

* close paren doesn't invoke last_space

* Make test file valid Nginx syntax
2017-03-24 19:45:53 -07:00
Daniel Huang
e034b50363 Don't save keys/csr on dry run (#4380)
* Don't save keys/csr on dry run (#2495)

* Replace assertIsNone for py26

* Fix config defaults for compat tests
2017-03-18 13:42:54 -07:00
Erica Portnoy
050d272272 Merge pull request #4347 from kernelpanek/master
Fixes nginxparser to allow multiline quoted strings
2017-03-17 16:48:32 -07:00
Yen Chi Hsuan
4cad594b4b Python 3 compatibility for all tests (#4358) 2017-03-17 13:10:02 -07:00
Richard Panek
f791af5afe New switch for QuotedStrings allows retainer of quotes but my test fails 2017-03-15 02:13:09 -06:00
kernelpanek
5758b1687d Fixes issue when parsing an Nginx configuration file containing multiline quoted strings 2017-03-15 00:25:26 -06:00
Erica Portnoy
e5909d379c Don't crash on listen unix: (#4259)
Fixes #4225.

* don't crash on listen unix:

* correctly merge #4221
2017-02-27 13:35:29 -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
Erica Portnoy
c00568a518 Break on failure to deploy cert (#4003)
* Break on failure to deploy cert

* Add error message for unable to install cert

* Add unit test
2017-01-10 17:27:09 -08:00
Clif Houck
ad53c80c1e Fix certbox-nginx address equality check (#3886)
0.0.0.0, *, and '' are equivalent hosts to nginx. Changes Addr object's
equality testing to treat them as equal.

Fixes #3855
2016-12-13 14:38:57 -08:00
Brad Warren
9bdb3d67bc make our linter happy (#3881) 2016-12-08 20:29:59 -08:00
Peter Eckersley
59c602d9ca Parallalelise nosetests from tox (#3836)
* Parallalelise nosetests from tox

* Parallelise even more things, break even more things

* Now unbreak all the tests that aren't ready for ||ism

* Try to pass tests!

 - Remove non-working hack in reporter_test
 - also be selective about ||ism in the cover environment

* Try again

* certbot-apache tests also work, given enough time

* Nginx may need more time in Travis's cloud

* Unbreak reporter_test under ||ism

* More timeout

* Working again?

* This goes way faster

* Another big win

* Split a couple more large test suites

* A last improvement

* More ||ism!

* ||ise lint too

* Allow nosetests to figure out how many cores to use

* simplify merge

* Mark the new CLI tests as ||izable

* Simplify reporter_test changes

* Rationalise ||ism flags

* Re-up coverage

* Clean up reporter tests

* Stop modifying testdata during tests

* remove unused os
2016-12-06 20:39:16 -08:00
Erica Portnoy
f0a7bb0e33 Mark Nginx vhosts as ssl when any vhost is on ssl at that address (#3856)
* Move parse_server to be a method of NginxParser

* add super equal method to more correctly check addr equality in nginx should we support ipv6 in nginx in the future

* add addr:normalized_tuple method

* mark addresses listening sslishly due to another server block listening sslishly on that address

* test turning on ssl globally

* add docstring

* lint and remove extra file
2016-12-05 19:17:04 -08:00
Blake Griffith
65d9e997e5 Refactor cli_test.py and main_test.py (#3828)
* Begin breaking out cli_test.py

* simplify main

* refactor porse tests

* move determine account tests to main_test.py

* move duplicate cert test to main_test.py

* move cli stuff out of the way

* add test_renewal.py

* move error test into error_handler_test.py

* move test_read_file

* move test_no_gui out of MainTest

* move test_install_abspath to parsetest

* Move main tests into main_test.py

* move cli tests back into cli_test.py

* clean up cli_test.py

* move punycode test to util_test.py

* Fix NameError from missing plugins_disco

* Fix linting errors

* test_renewal.py -> renewal_test.py

* rm not_cli_test.py

* Move main._handle_exception test to main_test.py

* Move renewal import in renewal_test.py

from @ohemorange comments

* certbot.tests.test_util -> certbot.tests.util

* Fix issues from rebasing.

* Fix testing issue with option_was_set

* fix linting issue
2016-12-05 15:22:14 -08:00
Nick Fong
dd8772b608 Remove get_all_certs_keys() from Apache and Nginx (#3768)
- Remove get_all_certs_keys() implementation in
    - certbot-apache/certbot_apache/configurator.py
- Remove corresponding tests for get_all_certs_keys() in
    - certbot-apache/certbot_apache/tests/configurator_test.py
- Remove get_all_certs_keys() implementation in
    - certbot-nginx/certbot_nginx/configurator.py
    - certbot-nginx/certbot_nginx/parser.py
- Remove corresponding tests for get_all_certs_keys() in:
    - certbot-nginx/certbot_nginx/tests/configurator_test.py
    - certbot-nginx/certbot_nginx/tests/parser_test.py

Resolves #3762
2016-11-08 17:19:05 -08:00
Erica Portnoy
df10a6431b Don't re-add redirects if one exists (#3751)
* Don't re-add redirects if one exists

* coverage

* make coverage happy

* don't re-add comment, and clean code
2016-11-07 15:48:46 -08:00
Erica Portnoy
ce252bd6c9 Allow certbot to get a cert for default_servers (#3652)
* Allow certbot to get a cert for default_servers

* Add to_string method for not printing default_server
2016-10-21 13:56:53 -07:00
Erica Portnoy
c9bc034512 Update Nginx redirect enhancement process to modify appropriate blocks (#3546)
* Cache the vhost we find during nginx deployment for OCSP enhancement.

* Refactor to pass domain into enhancement functions

* Add https redirect to most name-matching block listening non-sslishly.

* Redirect enhancement chooses the vhost most closely matching target_name that is listening to port 80 without using ssl.

* Add default listen 80 directive when it is implicitly defined
2016-09-29 16:16:07 -07:00
Erica Portnoy
9f2dfc15fe Restructure how Nginx parser re-finds vhosts, and disable creating new server blocks. (#3528)
* Restructure add_server_directives to take a vhost as argument. This is the first step towards fixing vhost selection in nginx.

* Save path to vhost in file while parsing in get_vhosts().

* Disable creating a new server block when no names match.

* Make parser select vhost based on information in the vhost it found previously, rather than searching again for a match.

* Make add_server_directives update the passed vhost

* Update boulder config to pass test

* Add testing code for the _do_for_subarray function

* documentation and formatting updates
2016-09-26 13:13:29 -07:00
Peter Eckersley
2434b4a549 Merge pull request #3507 from certbot/only-suggest-valid-names
Only suggest names LE will accept
2016-09-22 14:23:19 -07:00
Brad Warren
93a9e8c836 list 'staple-ocsp' as supported in nginx 2016-09-21 15:48:24 -07:00
Brad Warren
8b553fa88f tie oscp stapling to enhancements system 2016-09-21 15:38:37 -07:00
Brad Warren
307b2e5307 Reject domains with only one label 2016-09-16 16:53:25 -07:00
Brad Warren
275e3f748e filter names returned by get_all_names 2016-09-16 16:47:02 -07:00
Brad Warren
73fdc08d83 don't hardcode certbot comment 2016-08-16 21:04:28 -07:00
Brad Warren
1aa18a3bad Add test to prevent regressing and not copying ssl_options to /etc/letsencrypt 2016-08-16 19:10:57 -07:00
Brad Warren
971d6d7540 Don't hardcode comment added by Certbot 2016-08-16 18:50:18 -07:00
Brad Warren
671d7ee194 Fix up COMMENT constants 2016-08-16 17:45:43 -07:00
Peter Eckersley
f0c2ed3059 Lint, improve coverage, rm unused code 2016-08-08 15:45:49 -07:00
Peter Eckersley
7deb1f0ad6 Fix bug with UnpsacedList.insert to final position
- which only applied when the list actually contained spaces
2016-08-08 12:15:18 -07:00
Peter Eckersley
0ade03b7bf Merge remote-tracking branch 'origin/master' into no-conflicting-declarations3 2016-08-05 15:41:54 -07:00
Peter Eckersley
460f49778f Fix tests for our new spacey, commented world 2016-08-05 15:37:01 -07:00
Peter Eckersley
a8abde7d8d Merge remote-tracking branch 'origin/no-conflicting-declarations3' into no-conflicting-declarations3 2016-08-05 14:47:41 -07:00
Peter Eckersley
61b81b877d Merge remote-tracking branch 'origin/master' into no-conflicting-declarations3 2016-07-29 17:28:29 -07:00
Peter Eckersley
89758decbb Fix a test 2016-07-29 17:28:22 -07:00
Peter Eckersley
9e9c4dfcf5 fix test 2016-07-27 16:55:23 -07:00
Brad Warren
1060ea7c3d delint 2016-07-26 17:36:58 -07:00
Brad Warren
599ba1194f Merge branch 'master' into no-conflicting-declarations3 2016-07-26 16:47:25 -07:00
Ville Skyttä
86b287b338 Use assertEqual instead of deprecated assertEquals 2016-07-22 09:54:28 +03:00
Brad Warren
9c915b0ae4 Fix tests 2016-07-14 18:15:01 -07:00
Brad Warren
6b639679e8 Merge branch 'master' into no-conflicting-declarations 2016-07-14 17:26:39 -07:00
schoen
adeb39a7f2 Merge pull request #3218 from certbot/nginx-dirty-write-only
Only write nginx config files if they've been modified
2016-06-27 14:07:51 -07:00
schoen
eaf339632a Merge pull request #3184 from certbot/nginx-space-preservation
Nginx space preservation
2016-06-27 12:50:34 -07:00
Peter Eckersley
3e9bf2f35f Tests for UnspacedList.is_dirty() 2016-06-27 12:50:06 -07:00
Peter Eckersley
6017a6cb6d Only write nginx config files if we've modified them 2016-06-27 12:44:36 -07:00
Peter Eckersley
880cb03191 Make assertions about index policing 2016-06-24 18:50:18 -07:00
Peter Eckersley
6a938f2ee7 Fix docstring nit 2016-06-24 16:52:02 -07:00
Peter Eckersley
20b92a3c1f Add some test coverage 2016-06-24 16:48:22 -07:00
Brad Warren
975599e9ca Remove bad save in nginx perform 2016-06-22 18:25:09 -07:00
Peter Eckersley
02844904f0 Improve coverage 2016-06-20 16:11:32 -07:00
Peter Eckersley
e2fd1369f3 Update test for fancier semantics 2016-06-20 16:08:40 -07:00
Peter Eckersley
ef31a837f7 Lint 2016-06-20 15:56:19 -07:00
Peter Eckersley
1e59bf8112 fixup 2016-06-18 14:53:17 -07:00
Peter Eckersley
e4f88506cc Fix TLS_SNI & associated tests 2016-06-18 14:52:07 -07:00
Peter Eckersley
7bcc23d9f5 Debugging 2016-06-17 18:30:12 -07:00
Peter Eckersley
b2c36f8527 Lint & test fix 2016-06-17 14:39:55 -07:00
Peter Eckersley
ba0a0e9c26 Tests for UnspacedList 2016-06-17 14:32:24 -07:00
Peter Eckersley
efd1ff46c6 Lint 2016-06-16 18:18:33 -07:00
Peter Eckersley
9459daa6d0 Delete new.conf files after tests
Not least, to prevent git conflicts with old branches
2016-06-16 18:04:13 -07:00
Peter Eckersley
da250a4f4b Experimentally delete these output files 2016-06-16 17:59:49 -07:00
Peter Eckersley
e76e3a953a Fix test cases
- but we're still mangling files in place...
2016-06-16 17:58:05 -07:00
Peter Eckersley
e5ce03b312 More test wrangling 2016-06-16 12:24:36 -07:00
Peter Eckersley
ff7addefb3 Start fixing tests 2016-06-15 17:57:24 -07:00
Blake Griffith
2d121585c9 Catch more le_util in certbot-nginx 2016-05-26 15:51:56 -05:00
Brad Warren
3d248d8a60 s/Let's Encrypt/Certbot certbot-nginx 2016-04-13 16:49:30 -07:00
Brad Warren
a43fac3277 s/letsencrypt/certbot letsencrypt-nginx tests 2016-04-13 16:45:54 -07:00