Commit Graph

43 Commits

Author SHA1 Message Date
FELD Boris
a4fd1e75c5 Add the support of login payload in JSON and YAML.
Login endpoint supported only application/x-www-form-urlencoded which may
be an useless limitation. This PR add support for more content-type,
JSON and YAML and every content-type supported by saltnado in general
as it uses the same deserialisation method than the lowstate deserialisation.
2015-09-18 19:16:47 +02:00
FELD Boris
ef3b7ddc2d Fix lints 2015-09-15 20:29:18 +02:00
FELD Boris
b13f66ee4b Add support for CORS in saltnado.
Add support for CORS and tests in RPC salt-api. The code was inspired by
https://github.com/globocom/tornado-cors.

Also add support for CORS in websocket. By adding some tests, I made
a small refactoring to make the websocket handler more easily testable.

Some documentation about CORS could be found here
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
for reference.
2015-09-15 18:52:44 +02:00
FELD Boris
23c7b4847c Improve support for Content-Type parsing. Ref #26505
It currently supports 'simple' values like application/json, but Content-Type
header could also includes parameter. See RFC http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.

When sending JSON from a browser for example, the Content-Type is
`application/json; charset=utf-8` and salt-api failed to detect JSON content.

The proposition is to use cgi.parse_header method (https://docs.python.org/2.7/library/cgi.html?highlight=cgi#cgi.parse_header)
to correctly parse the Content-Type value but ignore parameters, JSON should
always be UTF-8 but I don't know about other supported Content-Type.
2015-09-09 16:41:29 +02:00
Colton Myers
befb666623 Merge remote-tracking branch 'upstream/2015.2' into merge-forward-develop
Conflicts:
    salt/modules/mongodb.py
    salt/utils/http.py
    salt/utils/process.py
    tests/integration/__init__.py
2015-04-27 10:28:53 -06:00
rallytime
8d5b50e17c Don't forget the blank lines at the end of the file 2015-04-24 16:29:51 -06:00
Justin Findlay
3226c6ccb4 further saltnado lint 2015-04-13 16:28:10 -06:00
Thomas Jackson
3f1558b5d2 No reason to implement get_app in the mixin 2015-04-13 16:28:10 -06:00
Thomas Jackson
16bc3d0731 Pylint fixup 2015-04-13 16:28:10 -06:00
Justin Findlay
e132bcd5ca further saltnado lint 2015-04-12 16:39:57 -06:00
Thomas Jackson
5c0cca47d3 No reason to implement get_app in the mixin 2015-04-11 16:48:05 -07:00
Thomas Jackson
6f4a009343 Pylint fixup 2015-04-11 16:46:55 -07:00
Joshua Semar
46a25b5c58 missed switch to build_tornado 2015-04-10 16:40:42 +00:00
Joshua Semar
d9ed9f1e5b fix linting errors 2015-04-10 16:35:07 +00:00
Joshua Semar
c56845e904 include mod_opts on tornado application, refactor get_app 2015-04-10 15:06:30 +00:00
Colton Myers
d82d7645c9 Merge remote-tracking branch 'upstream/2015.2' into merge-forward-develop
Conflicts:
    salt/modules/cmdmod.py
    salt/modules/debian_ip.py
    salt/modules/drac.py
    salt/modules/rpm.py
    salt/returners/postgres_local_cache.py
2015-03-19 16:13:16 -06:00
Thomas Jackson
205787c256 Add timeout to saltnado's event listener
Fixes #21707

The issue is basically that the master has seen N minions-- and not all N are currently connected. The publish job returns to the salt-api that N minions got the job-- and it dutifilly waits for all the returns. With this we use the same ping timeout that the CLI does while waiting for returns. So once all minions are no longer running the job we will return.
2015-03-17 19:17:32 -07:00
Pedro Algarvio
1a779fd51c Py3 compatibility fixes 2015-01-30 22:25:05 +00:00
Pedro Algarvio
309876eac1 Py3 compatibility fixes 2015-01-30 22:25:05 +00:00
Pedro Algarvio
60f215f191 Add from __future__ import absolute_import 2015-01-30 22:25:04 +00:00
Mike Place
74501f56ae Fix tornado tests
The tornado test runner isn't respecting timeouts as it claims it
should in async mode. However, the env variable is working as-described.
2015-01-12 15:36:34 -07:00
Colton Myers
dc43840cee Merge branch '2014.7' into merge-forward
Conflicts:
	salt/modules/glusterfs.py
	salt/modules/macports.py
	salt/modules/makeconf.py
	salt/modules/mdadm.py
	salt/modules/smartos_vmadm.py
	salt/modules/zypper.py
	salt/utils/event.py
	tests/integration/netapi/rest_tornado/test_app.py
	tests/unit/netapi/rest_tornado/test_handlers.py
2014-11-21 12:05:32 -07:00
Thomas Jackson
75bf7bd091 pylint fix 2014-11-20 18:35:41 -08:00
Thomas Jackson
0a1b88e6b5 Change all saltnado asserts to unittest asserts. This way when there is a failure you get nice pretty printouts! 2014-11-20 18:35:41 -08:00
Pedro Algarvio
7b4601219b More import errors disables 2014-11-20 18:57:09 +00:00
Pedro Algarvio
0c50d789b7 The imports actually work so shut up PyLint! 2014-11-20 18:22:19 +00:00
Pedro Algarvio
21da23c070 Fix the class name 2014-11-20 17:35:42 +00:00
Pedro Algarvio
eb4bfbbde4 Remove slash 2014-11-20 17:19:58 +00:00
Pedro Algarvio
5a3fead6de Allow the tests to be properly skipped 2014-11-20 17:16:09 +00:00
Pedro Algarvio
d651788dff Allow the test cases to be properly skipped 2014-11-20 16:40:48 +00:00
Pedro Algarvio
f37495c74f Allow the test case to properly skip on missing tornado package 2014-11-20 16:40:47 +00:00
Pedro Algarvio
2bc6b735ef Use urlencode from six 2014-11-20 16:40:45 +00:00
Thomas Jackson
e2102fcbc7 Pylint cleanup 2014-11-14 09:15:54 -08:00
Thomas Jackson
6f0552c9e1 Pylint fixes 2014-11-13 09:33:14 -08:00
Thomas Jackson
ebfee14fda Add test for using a Future in multiple "Any" futures 2014-11-13 08:36:28 -08:00
Thomas Jackson
f0f9b14ee2 Add tests for MinionSaltAPIHandler 2014-11-13 08:36:27 -08:00
Thomas Jackson
26afdd34ae Re-factor test cases 2014-11-13 08:36:27 -08:00
Thomas Jackson
4b8ac6a9e3 Add tests for auth handler
break unit tests for handlers into a separate file
Misc error handling fixes in Login handler
2014-11-13 08:36:26 -08:00
Thomas Jackson
6245c27391 Add tests for deserialize (and fix a few bugs in there)
More cleanup of websockets separation
2014-11-13 08:36:26 -08:00
Thomas Jackson
ecbd269eda Move future testing out of event listener test class 2014-11-13 08:36:26 -08:00
Thomas Jackson
ecefbb91dc Add tests for Any Futures
move eventlistener callbacks into the class
2014-11-13 08:36:26 -08:00
Thomas Jackson
3816236e26 Add test for event you don't want 2014-11-13 08:36:26 -08:00
Thomas Jackson
257a73fb69 Add first tests for rest_tornado! 2014-11-13 08:36:26 -08:00