46 Commits

Author SHA1 Message Date
Noah Levitt
20857c4e7a bump version for pull request just merged and tweak run-tests.sh 2017-05-17 12:13:10 -07:00
James Kafader
501ec1ff23 Adds more unique service tests 2017-05-01 13:35:09 -07:00
Noah Levitt
b85566c405 rename ServiceRegistry.leader() to ServiceRegistry.unique_service(); implement heartbeat in that method; only return healthy service; add a detailed docstring 2017-04-28 16:29:00 -07:00
Noah Levitt
a1c5a08790 raise exception if heartbeat status_info is missing required fields 2017-04-27 14:34:07 -07:00
James Kafader
a5cac606fa added a leader election feature and tests 2017-04-18 16:56:53 -07:00
Noah Levitt
2f01252c32 change logic of orm constructor so that initial values are not considered updates, and explain a bit in the docstring 2017-03-23 18:19:13 -07:00
Noah Levitt
7b17ed1057 turns out we want populate_defaults to happen in __init__, fix so things work right 2017-03-07 17:46:48 -08:00
Noah Levitt
3fd2e5cf60 new method on orm class populate_defaults(), which runs at the beginning of save(), since populating them in __init__() is problematic 2017-03-07 12:44:52 -08:00
Noah Levitt
07bc01cbbd have Document.load() return None if no such doc is found in the db 2017-03-02 10:31:29 -08:00
Noah Levitt
aa177f94b8 split tests into different source files 2017-03-02 10:16:41 -08:00
Noah Levitt
246dfb5b7e new orm class method table_ensure 2017-03-01 11:40:12 -08:00
Noah Levitt
c14bae6050 new convention, call Rethinker object rr (mnemonic RethinkeR, or *double*[think]), leave rethinkdb as r per the rethinkdb convention 2017-03-01 11:20:27 -08:00
Noah Levitt
536bf8d1d8 implement or explicitly disallow other top-level dict operations on ORM Document, and add more automated tests 2017-02-28 17:56:44 -08:00
Noah Levitt
e8db41763b rename the project "doublethink" (credit goes to @adam-miller) 2017-02-28 16:44:26 -08:00
Noah Levitt
4a9978fc46 make ORM __getattr___ return None if attribute is missing; documentation improvements 2017-02-28 16:42:57 -08:00
Noah Levitt
ad0e1b1fd7 rename Document.get to Document.load to avoid masking dict.get 2017-02-24 16:52:59 -08:00
Noah Levitt
abdecc46b8 better smarter ORM with more tests 2017-02-23 16:07:14 -08:00
Noah Levitt
d76e219e7b make run-tests.sh work with the docker image that gets pulled in now, which doesn't have a 'python3.4' command 2017-02-21 16:30:29 -08:00
Noah Levitt
000e4d9cf6 playing with simple ORM thing 2017-02-17 17:23:53 -08:00
Noah Levitt
9c3439dfc5 add apache license file and some license headers 2016-10-31 15:39:12 -07:00
Noah Levitt
82faefde56 catch a failed service registry heartbeat, with unit test 2016-10-31 15:29:46 -07:00
Noah Levitt
2e76c1e570 fixes to make Dockerfile work with latest phusion/baseimage 2016-10-31 15:28:43 -07:00
Noah Levitt
8745d5b6b7 fix tests, including adjusting the timing to make tests pass more consistently 2016-04-19 20:17:22 +00:00
Noah Levitt
f9169321a6 add some tests for available_services() 2016-04-19 19:24:33 +00:00
Noah Levitt
073c1fb578 some fixes to make the tests pass 2015-11-17 20:38:10 +00:00
Noah Levitt
82d3ef45a0 run-tests.sh: clone rethinstuff source directory to temporary location (probably better solution than creating user with matching uid, setting PYTHONDONTWRITEBYTECODE, etc) 2015-11-17 20:08:18 +00:00
Noah Levitt
447f23615f convenience function rethinstuff.utcnow() 2015-11-17 20:06:51 +00:00
Noah Levitt
287258e104 add method available_services to ServiceRegistry, returns all services considered up for the supplied role 2015-11-06 23:42:06 +00:00
Noah Levitt
345348fa46 set PYTHONDONTWRITEBYTECODE in one place 2015-11-06 23:40:03 +00:00
Noah Levitt
a0f5c4870f add pid and first_heartbeat to service registry automatically 2015-11-02 21:20:46 +00:00
Noah Levitt
46a54357ad return whole updated status_info dict from ServiceRegistry.heartbeat() 2015-10-31 00:33:06 +00:00
Noah Levitt
1f64ad84d6 match outer uid within docker container, to avoid ownership/permissions issues with mounted volumes 2015-10-30 19:53:20 +00:00
Noah Levitt
5570ca9241 service registry, with unit tests! 2015-10-30 19:50:33 +00:00
Noah Levitt
7c7b0dc991 Revert "does it still hang if we don't really run anything inside docker?"
This reverts commit e1474133b638e1f442b812ee794a79b6038f6a69.

Conflicts:
	tests/run-tests.sh
2015-10-06 00:57:15 +00:00
Noah Levitt
f4fb551d95 does it still hang with docker run -i? 2015-10-02 17:46:08 +00:00
Noah Levitt
c124507c15 does it still hang if we pipe in /dev/null to stdin? 2015-10-02 17:11:00 +00:00
Noah Levitt
e1474133b6 does it still hang if we don't really run anything inside docker? 2015-10-02 16:55:11 +00:00
Noah Levitt
314462a83c remove -i and -t flags so travis won't hang? 2015-10-01 19:05:10 -07:00
Noah Levitt
7e96d65f96 ugh wait that long for travis to find this mistake 2015-10-02 01:28:29 +00:00
Noah Levitt
24edeb3247 support array slice notation https://rethinkdb.com/api/python/slice/ 2015-09-29 22:07:50 +00:00
Noah Levitt
a377fd5305 only retry r.ReqlTimeoutError because creating a database with too many replicas or shards raises a r.ReqlAvailabilityError, which resulted in an infinite loop; add test for this case 2015-09-22 21:34:12 +00:00
Noah Levitt
030d248eac run tests inside docker as same user from outside docker, to avoid problems with --volume 2015-09-22 21:32:53 +00:00
Noah Levitt
175b8287bb pull in changes from warcprox/tests/Dockerfile 2015-09-22 21:31:32 +00:00
Noah Levitt
c4314e6cdb remove some debug logging 2015-09-22 01:06:25 +00:00
Noah Levitt
50df439706 make sure connection closes when it's supposed to 2015-09-21 23:30:43 +00:00
Noah Levitt
aa080ce2e9 tests using docker to containerize rethinkdb fixture 2015-09-21 22:19:09 +00:00