rigid 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. checksums.yaml +7 -0
  2. data/bin/rigid +4 -0
  3. data/rigid +16 -0
  4. data/vendor/PyYAML-3.12.dist-info/DESCRIPTION.rst +12 -0
  5. data/vendor/PyYAML-3.12.dist-info/INSTALLER +1 -0
  6. data/vendor/PyYAML-3.12.dist-info/METADATA +35 -0
  7. data/vendor/PyYAML-3.12.dist-info/RECORD +42 -0
  8. data/vendor/PyYAML-3.12.dist-info/WHEEL +5 -0
  9. data/vendor/PyYAML-3.12.dist-info/metadata.json +1 -0
  10. data/vendor/PyYAML-3.12.dist-info/top_level.txt +2 -0
  11. data/vendor/_yaml.so +0 -0
  12. data/vendor/click/__init__.py +98 -0
  13. data/vendor/click/__init__.pyc +0 -0
  14. data/vendor/click/_bashcomplete.py +83 -0
  15. data/vendor/click/_bashcomplete.pyc +0 -0
  16. data/vendor/click/_compat.py +642 -0
  17. data/vendor/click/_compat.pyc +0 -0
  18. data/vendor/click/_termui_impl.py +547 -0
  19. data/vendor/click/_termui_impl.pyc +0 -0
  20. data/vendor/click/_textwrap.py +38 -0
  21. data/vendor/click/_textwrap.pyc +0 -0
  22. data/vendor/click/_unicodefun.py +119 -0
  23. data/vendor/click/_unicodefun.pyc +0 -0
  24. data/vendor/click/_winconsole.py +273 -0
  25. data/vendor/click/_winconsole.pyc +0 -0
  26. data/vendor/click/core.py +1738 -0
  27. data/vendor/click/core.pyc +0 -0
  28. data/vendor/click/decorators.py +304 -0
  29. data/vendor/click/decorators.pyc +0 -0
  30. data/vendor/click/exceptions.py +201 -0
  31. data/vendor/click/exceptions.pyc +0 -0
  32. data/vendor/click/formatting.py +256 -0
  33. data/vendor/click/formatting.pyc +0 -0
  34. data/vendor/click/globals.py +48 -0
  35. data/vendor/click/globals.pyc +0 -0
  36. data/vendor/click/parser.py +426 -0
  37. data/vendor/click/parser.pyc +0 -0
  38. data/vendor/click/termui.py +539 -0
  39. data/vendor/click/termui.pyc +0 -0
  40. data/vendor/click/testing.py +322 -0
  41. data/vendor/click/testing.pyc +0 -0
  42. data/vendor/click/types.py +550 -0
  43. data/vendor/click/types.pyc +0 -0
  44. data/vendor/click/utils.py +415 -0
  45. data/vendor/click/utils.pyc +0 -0
  46. data/vendor/click-6.6.dist-info/DESCRIPTION.rst +3 -0
  47. data/vendor/click-6.6.dist-info/INSTALLER +1 -0
  48. data/vendor/click-6.6.dist-info/METADATA +16 -0
  49. data/vendor/click-6.6.dist-info/RECORD +41 -0
  50. data/vendor/click-6.6.dist-info/WHEEL +6 -0
  51. data/vendor/click-6.6.dist-info/metadata.json +1 -0
  52. data/vendor/click-6.6.dist-info/top_level.txt +1 -0
  53. data/vendor/easy_install.py +5 -0
  54. data/vendor/easy_install.pyc +0 -0
  55. data/vendor/pip-9.0.1.dist-info/DESCRIPTION.rst +39 -0
  56. data/vendor/pip-9.0.1.dist-info/INSTALLER +1 -0
  57. data/vendor/pip-9.0.1.dist-info/METADATA +69 -0
  58. data/vendor/pip-9.0.1.dist-info/RECORD +501 -0
  59. data/vendor/pip-9.0.1.dist-info/WHEEL +6 -0
  60. data/vendor/pip-9.0.1.dist-info/entry_points.txt +5 -0
  61. data/vendor/pip-9.0.1.dist-info/metadata.json +1 -0
  62. data/vendor/pip-9.0.1.dist-info/top_level.txt +1 -0
  63. data/vendor/pkg_resources/__init__.py +3051 -0
  64. data/vendor/pkg_resources/__init__.pyc +0 -0
  65. data/vendor/pkg_resources/_vendor/__init__.py +0 -0
  66. data/vendor/pkg_resources/_vendor/__init__.pyc +0 -0
  67. data/vendor/pkg_resources/_vendor/appdirs.py +552 -0
  68. data/vendor/pkg_resources/_vendor/appdirs.pyc +0 -0
  69. data/vendor/pkg_resources/_vendor/packaging/__about__.py +21 -0
  70. data/vendor/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
  71. data/vendor/pkg_resources/_vendor/packaging/__init__.py +14 -0
  72. data/vendor/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
  73. data/vendor/pkg_resources/_vendor/packaging/_compat.py +30 -0
  74. data/vendor/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
  75. data/vendor/pkg_resources/_vendor/packaging/_structures.py +68 -0
  76. data/vendor/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
  77. data/vendor/pkg_resources/_vendor/packaging/markers.py +287 -0
  78. data/vendor/pkg_resources/_vendor/packaging/markers.pyc +0 -0
  79. data/vendor/pkg_resources/_vendor/packaging/requirements.py +127 -0
  80. data/vendor/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
  81. data/vendor/pkg_resources/_vendor/packaging/specifiers.py +774 -0
  82. data/vendor/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
  83. data/vendor/pkg_resources/_vendor/packaging/utils.py +14 -0
  84. data/vendor/pkg_resources/_vendor/packaging/utils.pyc +0 -0
  85. data/vendor/pkg_resources/_vendor/packaging/version.py +393 -0
  86. data/vendor/pkg_resources/_vendor/packaging/version.pyc +0 -0
  87. data/vendor/pkg_resources/_vendor/pyparsing.py +5696 -0
  88. data/vendor/pkg_resources/_vendor/pyparsing.pyc +0 -0
  89. data/vendor/pkg_resources/_vendor/six.py +868 -0
  90. data/vendor/pkg_resources/_vendor/six.pyc +0 -0
  91. data/vendor/pkg_resources/extern/__init__.py +73 -0
  92. data/vendor/pkg_resources/extern/__init__.pyc +0 -0
  93. data/vendor/requests/__init__.py +86 -0
  94. data/vendor/requests/__init__.pyc +0 -0
  95. data/vendor/requests/adapters.py +503 -0
  96. data/vendor/requests/adapters.pyc +0 -0
  97. data/vendor/requests/api.py +148 -0
  98. data/vendor/requests/api.pyc +0 -0
  99. data/vendor/requests/auth.py +252 -0
  100. data/vendor/requests/auth.pyc +0 -0
  101. data/vendor/requests/cacert.pem +5616 -0
  102. data/vendor/requests/certs.py +25 -0
  103. data/vendor/requests/certs.pyc +0 -0
  104. data/vendor/requests/compat.py +66 -0
  105. data/vendor/requests/compat.pyc +0 -0
  106. data/vendor/requests/cookies.py +540 -0
  107. data/vendor/requests/cookies.pyc +0 -0
  108. data/vendor/requests/exceptions.py +114 -0
  109. data/vendor/requests/exceptions.pyc +0 -0
  110. data/vendor/requests/hooks.py +34 -0
  111. data/vendor/requests/hooks.pyc +0 -0
  112. data/vendor/requests/models.py +873 -0
  113. data/vendor/requests/models.pyc +0 -0
  114. data/vendor/requests/packages/__init__.py +36 -0
  115. data/vendor/requests/packages/__init__.pyc +0 -0
  116. data/vendor/requests/packages/chardet/__init__.py +32 -0
  117. data/vendor/requests/packages/chardet/__init__.pyc +0 -0
  118. data/vendor/requests/packages/chardet/big5freq.py +925 -0
  119. data/vendor/requests/packages/chardet/big5freq.pyc +0 -0
  120. data/vendor/requests/packages/chardet/big5prober.py +42 -0
  121. data/vendor/requests/packages/chardet/big5prober.pyc +0 -0
  122. data/vendor/requests/packages/chardet/chardetect.py +80 -0
  123. data/vendor/requests/packages/chardet/chardetect.pyc +0 -0
  124. data/vendor/requests/packages/chardet/chardistribution.py +231 -0
  125. data/vendor/requests/packages/chardet/chardistribution.pyc +0 -0
  126. data/vendor/requests/packages/chardet/charsetgroupprober.py +106 -0
  127. data/vendor/requests/packages/chardet/charsetgroupprober.pyc +0 -0
  128. data/vendor/requests/packages/chardet/charsetprober.py +62 -0
  129. data/vendor/requests/packages/chardet/charsetprober.pyc +0 -0
  130. data/vendor/requests/packages/chardet/codingstatemachine.py +61 -0
  131. data/vendor/requests/packages/chardet/codingstatemachine.pyc +0 -0
  132. data/vendor/requests/packages/chardet/compat.py +34 -0
  133. data/vendor/requests/packages/chardet/compat.pyc +0 -0
  134. data/vendor/requests/packages/chardet/constants.py +39 -0
  135. data/vendor/requests/packages/chardet/constants.pyc +0 -0
  136. data/vendor/requests/packages/chardet/cp949prober.py +44 -0
  137. data/vendor/requests/packages/chardet/cp949prober.pyc +0 -0
  138. data/vendor/requests/packages/chardet/escprober.py +86 -0
  139. data/vendor/requests/packages/chardet/escprober.pyc +0 -0
  140. data/vendor/requests/packages/chardet/escsm.py +242 -0
  141. data/vendor/requests/packages/chardet/escsm.pyc +0 -0
  142. data/vendor/requests/packages/chardet/eucjpprober.py +90 -0
  143. data/vendor/requests/packages/chardet/eucjpprober.pyc +0 -0
  144. data/vendor/requests/packages/chardet/euckrfreq.py +596 -0
  145. data/vendor/requests/packages/chardet/euckrfreq.pyc +0 -0
  146. data/vendor/requests/packages/chardet/euckrprober.py +42 -0
  147. data/vendor/requests/packages/chardet/euckrprober.pyc +0 -0
  148. data/vendor/requests/packages/chardet/euctwfreq.py +428 -0
  149. data/vendor/requests/packages/chardet/euctwfreq.pyc +0 -0
  150. data/vendor/requests/packages/chardet/euctwprober.py +41 -0
  151. data/vendor/requests/packages/chardet/euctwprober.pyc +0 -0
  152. data/vendor/requests/packages/chardet/gb2312freq.py +472 -0
  153. data/vendor/requests/packages/chardet/gb2312freq.pyc +0 -0
  154. data/vendor/requests/packages/chardet/gb2312prober.py +41 -0
  155. data/vendor/requests/packages/chardet/gb2312prober.pyc +0 -0
  156. data/vendor/requests/packages/chardet/hebrewprober.py +283 -0
  157. data/vendor/requests/packages/chardet/hebrewprober.pyc +0 -0
  158. data/vendor/requests/packages/chardet/jisfreq.py +569 -0
  159. data/vendor/requests/packages/chardet/jisfreq.pyc +0 -0
  160. data/vendor/requests/packages/chardet/jpcntx.py +227 -0
  161. data/vendor/requests/packages/chardet/jpcntx.pyc +0 -0
  162. data/vendor/requests/packages/chardet/langbulgarianmodel.py +229 -0
  163. data/vendor/requests/packages/chardet/langbulgarianmodel.pyc +0 -0
  164. data/vendor/requests/packages/chardet/langcyrillicmodel.py +329 -0
  165. data/vendor/requests/packages/chardet/langcyrillicmodel.pyc +0 -0
  166. data/vendor/requests/packages/chardet/langgreekmodel.py +225 -0
  167. data/vendor/requests/packages/chardet/langgreekmodel.pyc +0 -0
  168. data/vendor/requests/packages/chardet/langhebrewmodel.py +201 -0
  169. data/vendor/requests/packages/chardet/langhebrewmodel.pyc +0 -0
  170. data/vendor/requests/packages/chardet/langhungarianmodel.py +225 -0
  171. data/vendor/requests/packages/chardet/langhungarianmodel.pyc +0 -0
  172. data/vendor/requests/packages/chardet/langthaimodel.py +200 -0
  173. data/vendor/requests/packages/chardet/langthaimodel.pyc +0 -0
  174. data/vendor/requests/packages/chardet/latin1prober.py +139 -0
  175. data/vendor/requests/packages/chardet/latin1prober.pyc +0 -0
  176. data/vendor/requests/packages/chardet/mbcharsetprober.py +86 -0
  177. data/vendor/requests/packages/chardet/mbcharsetprober.pyc +0 -0
  178. data/vendor/requests/packages/chardet/mbcsgroupprober.py +54 -0
  179. data/vendor/requests/packages/chardet/mbcsgroupprober.pyc +0 -0
  180. data/vendor/requests/packages/chardet/mbcssm.py +572 -0
  181. data/vendor/requests/packages/chardet/mbcssm.pyc +0 -0
  182. data/vendor/requests/packages/chardet/sbcharsetprober.py +120 -0
  183. data/vendor/requests/packages/chardet/sbcharsetprober.pyc +0 -0
  184. data/vendor/requests/packages/chardet/sbcsgroupprober.py +69 -0
  185. data/vendor/requests/packages/chardet/sbcsgroupprober.pyc +0 -0
  186. data/vendor/requests/packages/chardet/sjisprober.py +91 -0
  187. data/vendor/requests/packages/chardet/sjisprober.pyc +0 -0
  188. data/vendor/requests/packages/chardet/universaldetector.py +170 -0
  189. data/vendor/requests/packages/chardet/universaldetector.pyc +0 -0
  190. data/vendor/requests/packages/chardet/utf8prober.py +76 -0
  191. data/vendor/requests/packages/chardet/utf8prober.pyc +0 -0
  192. data/vendor/requests/packages/urllib3/__init__.py +96 -0
  193. data/vendor/requests/packages/urllib3/__init__.pyc +0 -0
  194. data/vendor/requests/packages/urllib3/_collections.py +324 -0
  195. data/vendor/requests/packages/urllib3/_collections.pyc +0 -0
  196. data/vendor/requests/packages/urllib3/connection.py +330 -0
  197. data/vendor/requests/packages/urllib3/connection.pyc +0 -0
  198. data/vendor/requests/packages/urllib3/connectionpool.py +866 -0
  199. data/vendor/requests/packages/urllib3/connectionpool.pyc +0 -0
  200. data/vendor/requests/packages/urllib3/contrib/__init__.py +0 -0
  201. data/vendor/requests/packages/urllib3/contrib/__init__.pyc +0 -0
  202. data/vendor/requests/packages/urllib3/contrib/appengine.py +231 -0
  203. data/vendor/requests/packages/urllib3/contrib/appengine.pyc +0 -0
  204. data/vendor/requests/packages/urllib3/contrib/ntlmpool.py +115 -0
  205. data/vendor/requests/packages/urllib3/contrib/ntlmpool.pyc +0 -0
  206. data/vendor/requests/packages/urllib3/contrib/pyopenssl.py +358 -0
  207. data/vendor/requests/packages/urllib3/contrib/pyopenssl.pyc +0 -0
  208. data/vendor/requests/packages/urllib3/contrib/socks.py +172 -0
  209. data/vendor/requests/packages/urllib3/contrib/socks.pyc +0 -0
  210. data/vendor/requests/packages/urllib3/exceptions.py +209 -0
  211. data/vendor/requests/packages/urllib3/exceptions.pyc +0 -0
  212. data/vendor/requests/packages/urllib3/fields.py +178 -0
  213. data/vendor/requests/packages/urllib3/fields.pyc +0 -0
  214. data/vendor/requests/packages/urllib3/filepost.py +94 -0
  215. data/vendor/requests/packages/urllib3/filepost.pyc +0 -0
  216. data/vendor/requests/packages/urllib3/packages/__init__.py +5 -0
  217. data/vendor/requests/packages/urllib3/packages/__init__.pyc +0 -0
  218. data/vendor/requests/packages/urllib3/packages/ordered_dict.py +259 -0
  219. data/vendor/requests/packages/urllib3/packages/ordered_dict.pyc +0 -0
  220. data/vendor/requests/packages/urllib3/packages/six.py +868 -0
  221. data/vendor/requests/packages/urllib3/packages/six.pyc +0 -0
  222. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +13 -0
  223. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc +0 -0
  224. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +105 -0
  225. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc +0 -0
  226. data/vendor/requests/packages/urllib3/poolmanager.py +367 -0
  227. data/vendor/requests/packages/urllib3/poolmanager.pyc +0 -0
  228. data/vendor/requests/packages/urllib3/request.py +151 -0
  229. data/vendor/requests/packages/urllib3/request.pyc +0 -0
  230. data/vendor/requests/packages/urllib3/response.py +530 -0
  231. data/vendor/requests/packages/urllib3/response.pyc +0 -0
  232. data/vendor/requests/packages/urllib3/util/__init__.py +46 -0
  233. data/vendor/requests/packages/urllib3/util/__init__.pyc +0 -0
  234. data/vendor/requests/packages/urllib3/util/connection.py +144 -0
  235. data/vendor/requests/packages/urllib3/util/connection.pyc +0 -0
  236. data/vendor/requests/packages/urllib3/util/request.py +72 -0
  237. data/vendor/requests/packages/urllib3/util/request.pyc +0 -0
  238. data/vendor/requests/packages/urllib3/util/response.py +74 -0
  239. data/vendor/requests/packages/urllib3/util/response.pyc +0 -0
  240. data/vendor/requests/packages/urllib3/util/retry.py +300 -0
  241. data/vendor/requests/packages/urllib3/util/retry.pyc +0 -0
  242. data/vendor/requests/packages/urllib3/util/ssl_.py +320 -0
  243. data/vendor/requests/packages/urllib3/util/ssl_.pyc +0 -0
  244. data/vendor/requests/packages/urllib3/util/timeout.py +242 -0
  245. data/vendor/requests/packages/urllib3/util/timeout.pyc +0 -0
  246. data/vendor/requests/packages/urllib3/util/url.py +217 -0
  247. data/vendor/requests/packages/urllib3/util/url.pyc +0 -0
  248. data/vendor/requests/sessions.py +712 -0
  249. data/vendor/requests/sessions.pyc +0 -0
  250. data/vendor/requests/status_codes.py +91 -0
  251. data/vendor/requests/status_codes.pyc +0 -0
  252. data/vendor/requests/structures.py +105 -0
  253. data/vendor/requests/structures.pyc +0 -0
  254. data/vendor/requests/utils.py +817 -0
  255. data/vendor/requests/utils.pyc +0 -0
  256. data/vendor/requests-2.11.1.dist-info/DESCRIPTION.rst +1294 -0
  257. data/vendor/requests-2.11.1.dist-info/INSTALLER +1 -0
  258. data/vendor/requests-2.11.1.dist-info/METADATA +1323 -0
  259. data/vendor/requests-2.11.1.dist-info/RECORD +170 -0
  260. data/vendor/requests-2.11.1.dist-info/WHEEL +6 -0
  261. data/vendor/requests-2.11.1.dist-info/metadata.json +1 -0
  262. data/vendor/requests-2.11.1.dist-info/top_level.txt +1 -0
  263. data/vendor/rigid/__init__.py +1 -0
  264. data/vendor/rigid/__init__.pyc +0 -0
  265. data/vendor/rigid/api.py +129 -0
  266. data/vendor/rigid/api.pyc +0 -0
  267. data/vendor/rigid/commands/__init__.py +260 -0
  268. data/vendor/rigid/commands/__init__.pyc +0 -0
  269. data/vendor/rigid/commands/deploy.py +0 -0
  270. data/vendor/rigid/commands/deploy.pyc +0 -0
  271. data/vendor/rigid/deploy.py +70 -0
  272. data/vendor/rigid/deploy.pyc +0 -0
  273. data/vendor/rigid/file_scanner.py +63 -0
  274. data/vendor/rigid/file_scanner.pyc +0 -0
  275. data/vendor/rigid/utils.py +17 -0
  276. data/vendor/rigid/utils.pyc +0 -0
  277. data/vendor/rigid-0.2.0.dist-info/DESCRIPTION.rst +3 -0
  278. data/vendor/rigid-0.2.0.dist-info/INSTALLER +1 -0
  279. data/vendor/rigid-0.2.0.dist-info/METADATA +23 -0
  280. data/vendor/rigid-0.2.0.dist-info/RECORD +49 -0
  281. data/vendor/rigid-0.2.0.dist-info/WHEEL +5 -0
  282. data/vendor/rigid-0.2.0.dist-info/entry_points.txt +3 -0
  283. data/vendor/rigid-0.2.0.dist-info/metadata.json +1 -0
  284. data/vendor/rigid-0.2.0.dist-info/top_level.txt +2 -0
  285. data/vendor/setuptools-28.8.0.dist-info/DESCRIPTION.rst +243 -0
  286. data/vendor/setuptools-28.8.0.dist-info/INSTALLER +1 -0
  287. data/vendor/setuptools-28.8.0.dist-info/METADATA +272 -0
  288. data/vendor/setuptools-28.8.0.dist-info/RECORD +143 -0
  289. data/vendor/setuptools-28.8.0.dist-info/WHEEL +6 -0
  290. data/vendor/setuptools-28.8.0.dist-info/dependency_links.txt +2 -0
  291. data/vendor/setuptools-28.8.0.dist-info/entry_points.txt +63 -0
  292. data/vendor/setuptools-28.8.0.dist-info/metadata.json +1 -0
  293. data/vendor/setuptools-28.8.0.dist-info/top_level.txt +3 -0
  294. data/vendor/setuptools-28.8.0.dist-info/zip-safe +1 -0
  295. data/vendor/tests/__init__.py +0 -0
  296. data/vendor/tests/__init__.pyc +0 -0
  297. data/vendor/tests/integration/__init__.py +0 -0
  298. data/vendor/tests/integration/__init__.pyc +0 -0
  299. data/vendor/tests/integration/test_app.py +63 -0
  300. data/vendor/tests/integration/test_app.pyc +0 -0
  301. data/vendor/tests/integration/test_apps.py +27 -0
  302. data/vendor/tests/integration/test_apps.pyc +0 -0
  303. data/vendor/tests/integration/test_deploy.py +128 -0
  304. data/vendor/tests/integration/test_deploy.pyc +0 -0
  305. data/vendor/tests/integration/test_domains.py +35 -0
  306. data/vendor/tests/integration/test_domains.pyc +0 -0
  307. data/vendor/tests/integration/test_login.py +37 -0
  308. data/vendor/tests/integration/test_login.pyc +0 -0
  309. data/vendor/tests/integration/test_promote.py +24 -0
  310. data/vendor/tests/integration/test_promote.pyc +0 -0
  311. data/vendor/tests/integration/test_token.py +33 -0
  312. data/vendor/tests/integration/test_token.pyc +0 -0
  313. data/vendor/tests/integration/test_whoami.py +24 -0
  314. data/vendor/tests/integration/test_whoami.pyc +0 -0
  315. data/vendor/tests/test_deploy.py +33 -0
  316. data/vendor/tests/test_deploy.pyc +0 -0
  317. data/vendor/tests/test_file_scanner.py +89 -0
  318. data/vendor/tests/test_file_scanner.pyc +0 -0
  319. data/vendor/tests/utils.py +78 -0
  320. data/vendor/tests/utils.pyc +0 -0
  321. data/vendor/wheel-0.30.0a0.dist-info/DESCRIPTION.rst +325 -0
  322. data/vendor/wheel-0.30.0a0.dist-info/INSTALLER +1 -0
  323. data/vendor/wheel-0.30.0a0.dist-info/LICENSE.txt +22 -0
  324. data/vendor/wheel-0.30.0a0.dist-info/METADATA +357 -0
  325. data/vendor/wheel-0.30.0a0.dist-info/RECORD +86 -0
  326. data/vendor/wheel-0.30.0a0.dist-info/WHEEL +6 -0
  327. data/vendor/wheel-0.30.0a0.dist-info/entry_points.txt +6 -0
  328. data/vendor/wheel-0.30.0a0.dist-info/metadata.json +1 -0
  329. data/vendor/wheel-0.30.0a0.dist-info/top_level.txt +1 -0
  330. data/vendor/yaml/__init__.py +315 -0
  331. data/vendor/yaml/__init__.pyc +0 -0
  332. data/vendor/yaml/composer.py +139 -0
  333. data/vendor/yaml/composer.pyc +0 -0
  334. data/vendor/yaml/constructor.py +675 -0
  335. data/vendor/yaml/constructor.pyc +0 -0
  336. data/vendor/yaml/cyaml.py +85 -0
  337. data/vendor/yaml/cyaml.pyc +0 -0
  338. data/vendor/yaml/dumper.py +62 -0
  339. data/vendor/yaml/dumper.pyc +0 -0
  340. data/vendor/yaml/emitter.py +1140 -0
  341. data/vendor/yaml/emitter.pyc +0 -0
  342. data/vendor/yaml/error.py +75 -0
  343. data/vendor/yaml/error.pyc +0 -0
  344. data/vendor/yaml/events.py +86 -0
  345. data/vendor/yaml/events.pyc +0 -0
  346. data/vendor/yaml/loader.py +40 -0
  347. data/vendor/yaml/loader.pyc +0 -0
  348. data/vendor/yaml/nodes.py +49 -0
  349. data/vendor/yaml/nodes.pyc +0 -0
  350. data/vendor/yaml/parser.py +589 -0
  351. data/vendor/yaml/parser.pyc +0 -0
  352. data/vendor/yaml/reader.py +190 -0
  353. data/vendor/yaml/reader.pyc +0 -0
  354. data/vendor/yaml/representer.py +486 -0
  355. data/vendor/yaml/representer.pyc +0 -0
  356. data/vendor/yaml/resolver.py +227 -0
  357. data/vendor/yaml/resolver.pyc +0 -0
  358. data/vendor/yaml/scanner.py +1453 -0
  359. data/vendor/yaml/scanner.pyc +0 -0
  360. data/vendor/yaml/serializer.py +111 -0
  361. data/vendor/yaml/serializer.pyc +0 -0
  362. data/vendor/yaml/tokens.py +104 -0
  363. data/vendor/yaml/tokens.pyc +0 -0
  364. metadata +407 -0
@@ -0,0 +1,128 @@
1
+ import os
2
+ import unittest
3
+ from click.testing import CliRunner
4
+
5
+ from rigid.commands import cli
6
+
7
+ from ..utils import FakeServer
8
+
9
+ FIXTURES = os.path.join(os.path.dirname(__file__), '..', 'fixtures')
10
+
11
+ class DeployTests(unittest.TestCase):
12
+ def setUp(self):
13
+ super(DeployTests, self).setUp()
14
+ self.server = FakeServer()
15
+
16
+ self.server.status = 200
17
+ self.server.responses = [
18
+ # Preflight (head)
19
+ {},
20
+
21
+ # Create Source
22
+ {'body': {'uuid': 'source-uuid', 'upload': {'method': 'PUT', 'url': self.server.url + '/upload-source'}}},
23
+
24
+ # Upload Source
25
+ {},
26
+
27
+ # Create version
28
+ {'body': {'uuid': 'version-uuid'}},
29
+
30
+ # Promote version
31
+ {'body': {}},
32
+ ]
33
+
34
+ def test_deploy_without_app(self):
35
+ runner = CliRunner()
36
+ result = runner.invoke(cli, ['deploy', FIXTURES], env={'RIGID_API': self.server.url})
37
+ self.assertEqual(result.exit_code, 2)
38
+ self.assertEqual(result.output, 'Usage: cli deploy [OPTIONS] SOURCE\n\nError: Missing option "--app" / "-a".\n')
39
+
40
+
41
+ def test_deploy_success(self):
42
+ runner = CliRunner()
43
+ result = runner.invoke(cli, ['deploy', '-a', 'testingapp', FIXTURES], env={'RIGID_API': self.server.url}, catch_exceptions=False)
44
+ self.assertEqual(result.exit_code, 0)
45
+
46
+ self.assertEqual(len(self.server.requests), 5)
47
+
48
+ # Preflight (to check auth and permissions to app)
49
+ self.assertEqual(self.server.requests[0]['method'], 'HEAD')
50
+ self.assertEqual(self.server.requests[0]['path'], '/apps/testingapp')
51
+
52
+ # Create a source
53
+ self.assertEqual(self.server.requests[1]['method'], 'POST')
54
+ self.assertEqual(self.server.requests[1]['path'], '/sources')
55
+
56
+ # Upload source
57
+ self.assertEqual(self.server.requests[2]['method'], 'PUT')
58
+ self.assertEqual(self.server.requests[2]['path'], '/upload-source')
59
+
60
+ # Create version
61
+ self.assertEqual(self.server.requests[3]['method'], 'POST')
62
+ self.assertEqual(self.server.requests[3]['path'], '/apps/testingapp/versions')
63
+
64
+ # Promote version
65
+ self.assertEqual(self.server.requests[4]['method'], 'PUT')
66
+ self.assertEqual(self.server.requests[4]['path'], '/apps/testingapp/aliases/production')
67
+
68
+ def test_deploy_create(self):
69
+ self.server.responses = [
70
+ {'body': {'name': 'testingapp'}}
71
+ ] + self.server.responses[1:]
72
+
73
+ runner = CliRunner()
74
+ result = runner.invoke(cli, ['deploy', '--create', '-a', 'testingapp', FIXTURES], env={'RIGID_API': self.server.url}, catch_exceptions=False)
75
+ self.assertEqual(result.exit_code, 0)
76
+
77
+ self.assertEqual(len(self.server.requests), 5)
78
+
79
+ # Preflight (to check auth and permissions to app)
80
+ self.assertEqual(self.server.requests[0]['method'], 'POST')
81
+ self.assertEqual(self.server.requests[0]['path'], '/apps')
82
+
83
+ # Create a source
84
+ self.assertEqual(self.server.requests[1]['method'], 'POST')
85
+ self.assertEqual(self.server.requests[1]['path'], '/sources')
86
+
87
+ # Upload source
88
+ self.assertEqual(self.server.requests[2]['method'], 'PUT')
89
+ self.assertEqual(self.server.requests[2]['path'], '/upload-source')
90
+
91
+ # Create version
92
+ self.assertEqual(self.server.requests[3]['method'], 'POST')
93
+ self.assertEqual(self.server.requests[3]['path'], '/apps/testingapp/versions')
94
+
95
+ # Promote version
96
+ self.assertEqual(self.server.requests[4]['method'], 'PUT')
97
+ self.assertEqual(self.server.requests[4]['path'], '/apps/testingapp/aliases/production')
98
+
99
+ def test_deploy_create_random_name(self):
100
+ self.server.responses = [
101
+ {'body': {'name': 'rando'}}
102
+ ] + self.server.responses[1:]
103
+
104
+ runner = CliRunner()
105
+ result = runner.invoke(cli, ['deploy', '--create', FIXTURES], env={'RIGID_API': self.server.url})
106
+ self.assertEqual(result.exit_code, 0)
107
+
108
+ self.assertEqual(len(self.server.requests), 5)
109
+
110
+ # Preflight (to check auth and permissions to app)
111
+ self.assertEqual(self.server.requests[0]['method'], 'POST')
112
+ self.assertEqual(self.server.requests[0]['path'], '/apps')
113
+
114
+ # Create a source
115
+ self.assertEqual(self.server.requests[1]['method'], 'POST')
116
+ self.assertEqual(self.server.requests[1]['path'], '/sources')
117
+
118
+ # Upload source
119
+ self.assertEqual(self.server.requests[2]['method'], 'PUT')
120
+ self.assertEqual(self.server.requests[2]['path'], '/upload-source')
121
+
122
+ # Create version
123
+ self.assertEqual(self.server.requests[3]['method'], 'POST')
124
+ self.assertEqual(self.server.requests[3]['path'], '/apps/rando/versions')
125
+
126
+ # Promote version
127
+ self.assertEqual(self.server.requests[4]['method'], 'PUT')
128
+ self.assertEqual(self.server.requests[4]['path'], '/apps/rando/aliases/production')
@@ -0,0 +1,35 @@
1
+ import unittest
2
+ from click.testing import CliRunner
3
+
4
+ from rigid.commands import cli
5
+
6
+ from ..utils import FakeServer
7
+
8
+
9
+ class DomainTests(unittest.TestCase):
10
+ def setUp(self):
11
+ super(DomainTests, self).setUp()
12
+ self.server = FakeServer()
13
+
14
+ def test_add_domain(self):
15
+ self.server.status = 202
16
+ self.server.body = {}
17
+
18
+ runner = CliRunner()
19
+ result = runner.invoke(cli, ['domains', '--add', 'example.com', '-a', 'test'], env={'RIGID_API': self.server.url}, catch_exceptions=False)
20
+ self.assertEqual(result.exit_code, 0)
21
+ self.assertEqual(result.output, 'example.com has been added to test.\n')
22
+
23
+ self.assertEqual(self.server.request['method'], 'POST')
24
+ self.assertEqual(self.server.request['path'], '/apps/test/aliases/production/domains')
25
+
26
+ def test_remove_domain(self):
27
+ self.server.status = 204
28
+
29
+ runner = CliRunner()
30
+ result = runner.invoke(cli, ['domains', '--remove', 'example.com', '-a', 'test'], env={'RIGID_API': self.server.url})
31
+ self.assertEqual(result.exit_code, 0)
32
+ self.assertEqual(result.output, 'example.com has been removed from test.\n')
33
+
34
+ self.assertEqual(self.server.request['method'], 'DELETE')
35
+ self.assertEqual(self.server.request['path'], '/apps/test/aliases/production/domains/example.com')
@@ -0,0 +1,37 @@
1
+ import unittest
2
+ from click.testing import CliRunner
3
+
4
+ from rigid.commands import cli
5
+
6
+ from ..utils import FakeServer
7
+
8
+
9
+ class LoginTests(unittest.TestCase):
10
+ def setUp(self):
11
+ super(LoginTests, self).setUp()
12
+ self.server = FakeServer()
13
+
14
+ def test_login_success(self):
15
+ self.server.status = 200
16
+ self.server.body = { 'token': 'abc' }
17
+
18
+ runner = CliRunner()
19
+ result = runner.invoke(cli, ['login'], input='kyle@example.com\nsecretpw\n', env={'RIGID_API': self.server.url})
20
+ self.assertEqual(result.exit_code, 0)
21
+
22
+ self.assertEqual(self.server.request['method'], 'POST')
23
+ self.assertEqual(self.server.request['path'], '/authorizations')
24
+ self.assertEqual(self.server.request['headers']['Authorization'], 'Basic a3lsZUBleGFtcGxlLmNvbTpzZWNyZXRwdw==')
25
+
26
+ def test_login_failure(self):
27
+ self.server.status = 401
28
+ self.server.body = {}
29
+
30
+ runner = CliRunner()
31
+ result = runner.invoke(cli, ['login'], input='kyle@example.com\nsecret\n', env={'RIGID_API': self.server.url})
32
+ self.assertEqual(result.exit_code, 1)
33
+ self.assertEqual(result.output, 'Enter your Rigid credentials.\nEmail: kyle@example.com\nPassword: \nError: Invalid Credentials\n')
34
+
35
+ self.assertEqual(self.server.request['method'], 'POST')
36
+ self.assertEqual(self.server.request['path'], '/authorizations')
37
+ self.assertEqual(self.server.request['headers']['Authorization'], 'Basic a3lsZUBleGFtcGxlLmNvbTpzZWNyZXQ=')
@@ -0,0 +1,24 @@
1
+ import unittest
2
+ from click.testing import CliRunner
3
+
4
+ from rigid.commands import cli
5
+
6
+ from ..utils import FakeServer
7
+
8
+
9
+ class PromoteTests(unittest.TestCase):
10
+ def setUp(self):
11
+ super(PromoteTests, self).setUp()
12
+ self.server = FakeServer()
13
+
14
+ def test_promote(self):
15
+ self.server.status = 200
16
+ self.server.body = {'version': 'testing'}
17
+
18
+ runner = CliRunner()
19
+ result = runner.invoke(cli, ['promote', '-a', 'test', 'abc'], env={'RIGID_API': self.server.url}, catch_exceptions=False)
20
+ self.assertEqual(result.exit_code, 0)
21
+ self.assertEqual(result.output, 'test/production is now running testing.\n')
22
+
23
+ self.assertEqual(self.server.request['method'], 'PUT')
24
+ self.assertEqual(self.server.request['path'], '/apps/test/aliases/production')
@@ -0,0 +1,33 @@
1
+ import unittest
2
+ from click.testing import CliRunner
3
+
4
+ from rigid.commands import cli
5
+
6
+ from ..utils import FakeServer
7
+
8
+
9
+ class TokenTests(unittest.TestCase):
10
+ def setUp(self):
11
+ super(TokenTests, self).setUp()
12
+ self.server = FakeServer()
13
+
14
+ self.server.status = 200
15
+ self.server.body = { 'token': 'abc' }
16
+
17
+ def test_token_success(self):
18
+ runner = CliRunner()
19
+ result = runner.invoke(cli, ['token'], env={'RIGID_API': self.server.url})
20
+ self.assertEqual(result.exit_code, 0)
21
+ self.assertEqual(result.output, 'abc\n')
22
+
23
+ self.assertEqual(self.server.request['method'], 'POST')
24
+ self.assertEqual(self.server.request['path'], '/authorizations')
25
+
26
+ def test_token_with_scopes(self):
27
+ runner = CliRunner()
28
+ result = runner.invoke(cli, ['token', '--scope', 'example'], env={'RIGID_API': self.server.url})
29
+ self.assertEqual(result.exit_code, 0)
30
+ self.assertEqual(result.output, 'abc\n')
31
+
32
+ self.assertEqual(self.server.request['method'], 'POST')
33
+ self.assertEqual(self.server.request['path'], '/authorizations')
@@ -0,0 +1,24 @@
1
+ import unittest
2
+ from click.testing import CliRunner
3
+
4
+ from rigid.commands import cli
5
+
6
+ from ..utils import FakeServer
7
+
8
+
9
+ class WhoamiTests(unittest.TestCase):
10
+ def setUp(self):
11
+ super(WhoamiTests, self).setUp()
12
+ self.server = FakeServer()
13
+
14
+ def test_whoami_success(self):
15
+ self.server.status = 200
16
+ self.server.body = { 'email': 'kyle@example.com' }
17
+
18
+ runner = CliRunner()
19
+ result = runner.invoke(cli, ['whoami'], env={'RIGID_API': self.server.url})
20
+ self.assertEqual(result.exit_code, 0)
21
+ self.assertEqual(result.output, 'kyle@example.com\n')
22
+
23
+ self.assertEqual(self.server.request['method'], 'GET')
24
+ self.assertEqual(self.server.request['path'], '/user')
@@ -0,0 +1,33 @@
1
+ import os
2
+ import unittest
3
+ from threading import Thread
4
+
5
+ from six.moves import BaseHTTPServer
6
+
7
+ from rigid.api import Client
8
+ from rigid.deploy import Deploy
9
+
10
+ from .utils import FakeServer
11
+
12
+ FIXTURES = os.path.join(os.path.dirname(__file__), 'fixtures')
13
+
14
+
15
+ class DeployTests(unittest.TestCase):
16
+ def setUp(self):
17
+ self.client = Client()
18
+ self.deploy = Deploy(self.client, os.path.join(FIXTURES, 'scanner'))
19
+
20
+ def test_collect_files(self):
21
+ self.assertEqual(self.deploy.collect_files(), [
22
+ 'index.html',
23
+ 'posts/hello-internet.html',
24
+ 'posts/hello-world.html',
25
+ 'posts/index.html',
26
+ ])
27
+
28
+ def test_collect_files_with_ignore_file(self):
29
+ deploy = Deploy(self.client, FIXTURES)
30
+ self.assertEqual(deploy.collect_files(), [
31
+ 'scanner/index.html',
32
+ 'scanner/posts/index.html',
33
+ ])
Binary file
@@ -0,0 +1,89 @@
1
+ import os
2
+ import tempfile
3
+ import tarfile
4
+ import unittest
5
+
6
+ from rigid.file_scanner import scan, tar, Skipper
7
+
8
+ FIXTURES = os.path.join(os.path.dirname(__file__), 'fixtures')
9
+
10
+
11
+ class FileScannerTests(unittest.TestCase):
12
+ def test_scan_directory(self):
13
+ path = os.path.join(FIXTURES, 'scanner')
14
+ files = scan(path)
15
+
16
+ self.assertEqual(set(files), set([
17
+ 'index.html',
18
+ 'posts/hello-internet.html',
19
+ 'posts/hello-world.html',
20
+ 'posts/index.html',
21
+ ]))
22
+
23
+
24
+ class TarTests(unittest.TestCase):
25
+ def test_tar(self):
26
+ fd = tempfile.NamedTemporaryFile()
27
+ path = os.path.join(FIXTURES, 'scanner')
28
+ tar(fd.name, ['posts/hello-internet.html', 'index.html'], path)
29
+
30
+ with tarfile.open(fd.name) as tarball:
31
+ self.assertEqual(tarball.getnames(), ['posts/hello-internet.html', 'index.html'])
32
+
33
+ post = tarball.getmember('index.html')
34
+ self.assertEqual(post.size, 13)
35
+ self.assertEqual(post.type, tarfile.REGTYPE)
36
+
37
+ post = tarball.getmember('posts/hello-internet.html')
38
+ self.assertEqual(post.size, 16)
39
+ self.assertEqual(post.type, tarfile.REGTYPE)
40
+
41
+ fd.close()
42
+
43
+
44
+ class SkipperTests(unittest.TestCase):
45
+ def test_skipper_default_rules(self):
46
+ skipper = Skipper([])
47
+
48
+ rules = [
49
+ '.git',
50
+ '.DS_Store',
51
+ '.rigid.yaml',
52
+ '.rigid-*.yaml',
53
+
54
+ # Vim swap files
55
+ '*~',
56
+ '*.swp',
57
+ '*.swo',
58
+ ]
59
+
60
+ self.assertEqual(skipper.rules, rules)
61
+ self.assertEqual(skipper.DEFAULT_RULES, rules)
62
+
63
+ def test_skipper_component(self):
64
+ skipper = Skipper(['ignored'])
65
+
66
+ self.assertFalse(skipper.test('hello-world.html'))
67
+ self.assertFalse(skipper.test('ignored.html'))
68
+ self.assertTrue(skipper.test('ignored'))
69
+ self.assertTrue(skipper.test('ignored/index.html'))
70
+ self.assertTrue(skipper.test('deep/ignored/index.html'))
71
+ self.assertTrue(skipper.test('directory/ignored'))
72
+
73
+ def test_skipper_wildcard(self):
74
+ skipper = Skipper(['*.html'])
75
+
76
+ self.assertFalse(skipper.test('hello-html'))
77
+ self.assertFalse(skipper.test('html'))
78
+ self.assertTrue(skipper.test('test.html'))
79
+ self.assertTrue(skipper.test('testing/test.html'))
80
+
81
+ def test_callable(self):
82
+ skipper = Skipper(['ignored'])
83
+ self.assertFalse(skipper('ignored'))
84
+ self.assertTrue(skipper('not-ignored'))
85
+
86
+ def test_skipper_from_path(self):
87
+ path = os.path.join(FIXTURES, 'skipper')
88
+ skipper = Skipper.open(path)
89
+ self.assertEqual(skipper.rules, ['*.py', 'foo', 'bar'] + skipper.DEFAULT_RULES)
Binary file
@@ -0,0 +1,78 @@
1
+ import json
2
+ from threading import Thread
3
+
4
+ from six.moves import BaseHTTPServer
5
+
6
+
7
+ class FakeServer(object):
8
+ def __init__(self):
9
+ self.requests = []
10
+ self.responses = []
11
+
12
+ self.status = 204
13
+ self.body = None
14
+
15
+ class Handler(BaseHTTPServer.BaseHTTPRequestHandler):
16
+ def dispatch(handler, method):
17
+ if len(self.responses) > 0:
18
+ status = self.responses[len(self.requests)].get('status', self.status)
19
+ body = self.responses[len(self.requests)].get('body', self.body)
20
+ else:
21
+ status = self.status
22
+ body = self.body
23
+
24
+ self.requests.append({
25
+ 'method': method,
26
+ 'path': handler.path,
27
+ 'headers': handler.headers,
28
+ })
29
+
30
+ handler.send_response(status)
31
+
32
+ if body is not None:
33
+ body = json.dumps(body)
34
+ handler.send_header('Content-Length', str(len(body)))
35
+ handler.send_header('Content-Type', 'application/json')
36
+
37
+ handler.end_headers()
38
+
39
+ if body:
40
+ handler.wfile.write(body)
41
+
42
+ def do_HEAD(handler):
43
+ handler.dispatch('HEAD')
44
+
45
+ def do_GET(handler):
46
+ handler.dispatch('GET')
47
+
48
+ def do_PUT(handler):
49
+ handler.dispatch('PUT')
50
+
51
+ def do_POST(handler):
52
+ handler.dispatch('POST')
53
+
54
+ def do_DELETE(handler):
55
+ handler.dispatch('DELETE')
56
+
57
+ def log_request(self, *args):
58
+ pass # Disable default logging
59
+
60
+ self.server = BaseHTTPServer.HTTPServer(('localhost', 0), Handler)
61
+ self.server.timeout = 0.5
62
+ self.thread = Thread(target=self.server.serve_forever, args=(0.1,))
63
+ self.thread.daemon = True
64
+ self.thread.start()
65
+
66
+ @property
67
+ def url(self):
68
+ return 'http://{0}:{1}'.format(*self.server.server_address)
69
+
70
+ @property
71
+ def request(self):
72
+ """ Returns the last request """
73
+ return self.requests[-1]
74
+
75
+ def shutdown(self):
76
+ self.server.shutdown()
77
+ self.thread.join()
78
+ self.server.server_close()
Binary file