Merge branch 'feature/replica-info' of github.com:zalando/patroni into feature/replica-info

This commit is contained in:
Feike Steenbergen
2016-08-24 12:29:09 +02:00
2 changed files with 10 additions and 9 deletions
+1 -1
View File
@@ -900,7 +900,7 @@ $$""".format(name, ' '.join(options)), name, password, password)
for slot in set(self._replication_slots) - set(slots):
self.query("""SELECT pg_drop_replication_slot(%s)
WHERE EXISTS(SELECT 1 FROM pg_replication_slots
WHERE slot_name = %s)""", slot, slot)
WHERE slot_name = %s AND NOT active)""", slot, slot)
# create new slots
for slot in set(slots) - set(self._replication_slots):
+9 -8
View File
@@ -188,7 +188,8 @@ class TestRestApiHandler(unittest.TestCase):
post = request + '\nContent-Length: '
def make_request(request):
def make_request(request=None, **kwargs):
request = json.dumps(kwargs) if request is None else request
return '{0}{1}\n\n{2}'.format(post, len(request), request)
# empty request
@@ -198,26 +199,26 @@ class TestRestApiHandler(unittest.TestCase):
request = make_request('foobar=baz')
MockRestApiServer(RestApiHandler, request)
# wrong role
request = make_request('{"schedule": "2016-08-20 12:45TZ+1", "role": "unknown", "postgres_version": "9.5.3"}')
request = make_request(schedule=future_restart_time.isoformat(), role='unknown', postgres_version='9.5.3')
MockRestApiServer(RestApiHandler, request)
# wrong version
request = make_request('{"schedule": "2016-08-20 12:45TZ+1", "role": "master", "postgres_version": "9.5.3.1"}')
request = make_request(schedule=future_restart_time.isoformat(), role='master', postgres_version='9.5.3.1')
MockRestApiServer(RestApiHandler, request)
# unknown filter
request = make_request('{"schedule": "2016-08-29 12:45TZ+1", "batman": "lives"}')
request = make_request(schedule=future_restart_time.isoformat(), batman='lives')
MockRestApiServer(RestApiHandler, request)
# incorrect schedule
request = make_request('{"schedule": "2016-08-42 12:45TZ+1", "role": "master"}')
request = make_request(schedule='2016-08-42 12:45TZ+1', role='master')
MockRestApiServer(RestApiHandler, request)
# everything fine, but the schedule is missing
request = make_request('{"role": "master", "postgres_version": "9.5.2"}')
request = make_request(role='master', postgres_version='9.5.2')
MockRestApiServer(RestApiHandler, request)
for retval in (True, False):
with patch.object(MockHa, 'schedule_future_restart', Mock(return_value=retval)):
request = make_request('{"schedule": "2016-08-29 12:45TZ+1"}')
request = make_request(schedule=future_restart_time.isoformat())
MockRestApiServer(RestApiHandler, request)
with patch.object(MockHa, 'restart', Mock(return_value=(retval, "foo"))):
request = make_request('{"role": "master", "postgres_version": "9.5.2"}')
request = make_request(role='master', postgres_version='9.5.2')
MockRestApiServer(RestApiHandler, request)
def test_do_DELETE_restart(self):