summary refs log tree commit diff
path: root/tests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement device key caching over federationErik Johnston2017-01-264-14/+27
|
* Add basic implementation of local device list changesErik Johnston2017-01-252-2/+5
|
* Insert delta of current_state_events to be more efficientErik Johnston2017-01-201-29/+0
|
* Derive current_state_events from state groupsErik Johnston2017-01-201-28/+17
|
* Merge pull request #1818 from matrix-org/erikj/state_auth_splitout_splitErik Johnston2017-01-182-2/+25
|\ | | | | Optimise state resolution
| * Optimise state resolutionErik Johnston2017-01-172-2/+25
| |
* | Tidy up testErik Johnston2017-01-171-12/+12
| |
* | Speed up cache size calculationErik Johnston2017-01-172-16/+20
| | | | | | | | | | | | | | | | | | | | | | Instead of calculating the size of the cache repeatedly, which can take a long time now that it can use a callback, instead cache the size and update that on insertion and deletion. This requires changing the cache descriptors to have two caches, one for pending deferreds and the other for the actual values. There's no reason to evict from the pending deferreds as they won't take up any more memory.
* | Add ExpiringCache testsErik Johnston2017-01-161-0/+84
| |
* | Optionally measure size of cache by sum of length of valuesErik Johnston2017-01-131-0/+25
|/
* Linearize updates to membership via PUT /state/Erik Johnston2017-01-092-3/+6
|
* Fix crash in url preview when html tag has no textMarcin Bachry2016-12-141-0/+50
| | | | Signed-off-by: Marcin Bachry <hegel666@gmail.com>
* Merge pull request #1620 from matrix-org/erikj/concurrent_room_accessErik Johnston2016-12-121-0/+70
|\ | | | | Limit the number of events that can be created on a given room concurrently
| * Add Limiter: limit concurrent access to resourceErik Johnston2016-11-101-0/+70
| |
* | Fix unit testsErik Johnston2016-12-091-0/+4
| |
* | Prevent user tokens being used as guest tokens (#1675)Richard van der Hoff2016-12-061-15/+78
| | | | | | | | | | Make sure that a user cannot pretend to be a guest by adding 'guest = True' caveats.
* | test_preview: Fix incorrect wrappingJohannes Löthberg2016-12-051-2/+2
| | | | | | | | | | | | | | The old test expected an incorrect wrapping due to the preview function not using unicode properly, so it got the wrong length. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | Make test_preview use unicode stringsJohannes Löthberg2016-12-051-68/+68
| | | | | | | | Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* | fix importsRichard van der Hoff2016-11-301-3/+0
| |
* | Rip out more refresh_token codeRichard van der Hoff2016-11-301-55/+0
| | | | | | | | | | | | | | | | We might as well treat all refresh_tokens as invalid. Just return a 403 from /tokenrefresh, so that we don't have a load of dead, untestable code hanging around. Still TODO: removing the table from the schema.
* | Merge branch 'develop' into rav/no_more_refresh_tokensRichard van der Hoff2016-11-302-7/+5
|\ \
| * | Stop putting a time caveat on access tokensRichard van der Hoff2016-11-292-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats.
* | | Stop generating refresh tokensRichard van der Hoff2016-11-281-8/+4
|/ / | | | | | | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins.
* | Shuffle receipt handler around so that worker apps don't need to load itErik Johnston2016-11-231-1/+1
| |
* | Fix testsErik Johnston2016-11-231-0/+1
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-11-231-1/+169
|\ \ | | | | | | | | | erikj/split_out_fed_txn
| * | Review commentsKegan Dougal2016-11-221-10/+2
| | |
| * | More testsKegan Dougal2016-11-221-1/+56
| | |
| * | Add remaining testsKegan Dougal2016-11-211-4/+70
| | |
| * | Start adding some testsKegan Dougal2016-11-211-3/+37
| | |
| * | Move event_fields filtering to serialize_eventKegan Dougal2016-11-211-0/+21
| | | | | | | | | | | | Also make it an inclusive not exclusive filter, as the spec demands.
* | | Fix tests and flake8Erik Johnston2016-11-221-0/+1
| | |
* | | Fix testsErik Johnston2016-11-212-5/+19
|/ /
* / Clean transactions based on time. Add HttpTransactionCache tests.Kegan Dougal2016-11-141-0/+69
|/
* Merge pull request #1098 from matrix-org/markjh/bearer_tokenMark Haines2016-10-255-14/+29
|\ | | | | Allow clients to supply access_tokens as headers
| * Fix unit testsMark Haines2016-09-125-14/+29
| |
* | Merge pull request #1164 from pik/error-codesErik Johnston2016-10-192-41/+88
|\ \ | | | | | | Clarify Error codes for GET /filter/
| * | Refactor test_filter to use real DataStorepik2016-10-181-43/+81
| | | | | | | | | | | | * add tests for filter api errors
| * | Fix MockHttpRequest always returning M_UNKNOWN errcode in testingpik2016-10-141-1/+1
| | |
| * | Error codes for filtersAlexander Maznev2016-10-141-3/+12
| | | | | | | | | | | | | | | | | | * add tests Signed-off-by: Alexander Maznev <alexander.maznev@gmail.com>
* | | Merge pull request #1155 from matrix-org/erikj/pluggable_pwd_authErik Johnston2016-10-122-3/+15
|\ \ \ | | | | | | | | Implement pluggable password auth
| * | | Implement pluggable password authErik Johnston2016-10-032-3/+15
| |/ / | | | | | | | | | | | | | | | Allows delegating the password auth to an external module. This also moves the LDAP auth to using this system, allowing it to be removed from the synapse tree entirely in the future.
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵Erik Johnston2016-10-117-41/+29
|\ \ \ | | | | | | | | | | | | erikj/replication_noop
| * | | rest/client/v1/register: use the correct requester in createUserPatrik Oldsberg2016-10-062-24/+14
| | | | | | | | | | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * | | storage/appservice: make appservice methods only relying on the cache ↵Patrik Oldsberg2016-10-062-7/+4
| |/ / | | | | | | | | | synchronous
| * / Time out typing over federationErik Johnston2016-09-233-10/+11
| |/
* / Reduce DB hits for replicationErik Johnston2016-09-232-3/+3
|/ | | | | | | | | | | | | | Some streams will occaisonally advance their positions without actually having any new rows to send over federation. Currently this means that the token will not advance on the workers, leading to them repeatedly sending a slightly out of date token. This in turns requires the master to hit the DB to check if there are any new rows, rather than hitting the no op logic where we check if the given token matches the current token. This commit changes the API to always return an entry if the position for a stream has changed, allowing workers to advance their tokens correctly.
* Fix unit testsMark Haines2016-09-061-0/+8
|
* Correctly handle the difference between prev and current stateErik Johnston2016-08-313-32/+20
|
* Don't notify for online -> online transitions.Erik Johnston2016-08-301-0/+47
| | | | | Specifically, if currently_active remains true then we should not notify if only the last active time changes.
* Merge pull request #1049 from matrix-org/erikj/presence_users_in_roomErik Johnston2016-08-302-41/+6
|\ | | | | Use state handler instead of get_users_in_room/get_joined_hosts
| * Fix unit testsErik Johnston2016-08-262-41/+6
| |
* | Merge remote-tracking branch 'origin/develop' into markjh/direct_to_deviceMark Haines2016-08-262-51/+78
|\|
| * Fix testsErik Johnston2016-08-261-5/+46
| |
| * Replace context.current_state with context.current_state_idsErik Johnston2016-08-252-48/+34
| |
* | More 0_0 in testsMark Haines2016-08-251-2/+2
|/
* Ensure invalidation list does not grow unboundedlyErik Johnston2016-08-192-0/+88
|
* Rename to on_invalidateErik Johnston2016-08-191-2/+2
|
* Make cache_context an explicit optionErik Johnston2016-08-191-2/+2
|
* Remove lru optionErik Johnston2016-08-191-1/+1
|
* Add concept of cache contextsErik Johnston2016-08-192-0/+179
|
* Make AppserviceHandler stream events from databaseErik Johnston2016-08-181-3/+6
| | | | | | | | | This is for two reasons: 1. Suppresses duplicates correctly, as the notifier doesn't do any duplicate suppression. 2. Makes it easier to connect the AppserviceHandler to the replication stream.
* Make notify_interested_services fasterErik Johnston2016-08-172-68/+54
|
* Clean up _ServiceQueuerErik Johnston2016-08-171-1/+1
|
* Update unit testsErik Johnston2016-08-171-0/+2
|
* Fix up preview URL API. Add tests.Erik Johnston2016-08-161-1/+79
| | | | | | | | | This includes: - Splitting out methods of a class into stand alone functions, to make them easier to test. - Adding unit tests to split out functions, testing HTML -> preview. - Handle the fact that elements in lxml may have tail text.
* PEP8Richard van der Hoff2016-08-081-0/+1
|
* Fix login with m.login.tokenRichard van der Hoff2016-08-081-4/+49
| | | | | login with token (as used by CAS auth) was broken by 067596d, such that it always returned a 401.
* Test summarizationErik Johnston2016-08-041-0/+139
|
* PEP8Richard van der Hoff2016-08-031-2/+0
|
* Include device name in /keys/query responseRichard van der Hoff2016-08-031-0/+92
| | | | Add an 'unsigned' section which includes the device display name.
* keys/query: return all users which were asked forRichard van der Hoff2016-08-031-0/+46
| | | | | | In the situation where all of a user's devices get deleted, we want to indicate this to a client, so we want to return an empty dictionary, rather than nothing at all.
* Create separate methods for getting messages to pushMark Haines2016-07-281-0/+41
| | | | | | | | | | | for the email and http pushers rather than trying to make a single method that will work with their conflicting requirements. The http pusher needs to get the messages in ascending stream order, and doesn't want to miss a message. The email pusher needs to get the messages in descending timestamp order, and doesn't mind if it misses messages.
* Add `create_requester` functionRichard van der Hoff2016-07-264-26/+22
| | | | | Wrap the `Requester` constructor with a function which provides sensible defaults, and use it throughout
* Delete refresh tokens when deleting devicesRichard van der Hoff2016-07-261-0/+34
|
* Implement updating devicesRichard van der Hoff2016-07-262-0/+52
| | | | You can update the displayname of devices now.
* Implement deleting devicesRichard van der Hoff2016-07-262-6/+30
|
* Merge pull request #945 from matrix-org/rav/background_reindexRichard van der Hoff2016-07-251-5/+15
|\ | | | | Create index on user_ips in the background
| * PEP8Richard van der Hoff2016-07-251-1/+1
| |
| * Fix background_update testsRichard van der Hoff2016-07-251-6/+16
| | | | | | | | | | | | A bit of a cleanup for background_updates, and make sure that the real background updates have run before we start the unit tests, so that they don't interfere with the tests.
* | Slightly saner logging for unittestsRichard van der Hoff2016-07-251-4/+7
|/ | | | | | | 1. Give the handler used for logging in unit tests a formatter, so that the output is slightly more meaningful 2. Log some synapse.storage stuff, because it's useful.
* make /devices return a listRichard van der Hoff2016-07-211-4/+7
| | | | Turns out I specced this to return a list of devices rather than a dict of them
* Fix PEP8 errorsRichard van der Hoff2016-07-211-0/+1
|
* Implement GET /device/{deviceId}Richard van der Hoff2016-07-211-10/+27
|
* Fix PEP8 errorsRichard van der Hoff2016-07-202-3/+1
|
* Merge branch 'develop' into rav/get_devices_apiRichard van der Hoff2016-07-202-4/+19
|\ | | | | | | (pick up PR #938 in the hope of fixing the UTs)
| * Merge pull request #938 from matrix-org/rav/add_device_id_to_client_ipsRichard van der Hoff2016-07-201-1/+9
| |\ | | | | | | Record device_id in client_ips
| | * Record device_id in client_ipsRichard van der Hoff2016-07-201-1/+9
| | | | | | | | | | | | | | | Record the device_id when we add a client ip; it's somewhat redundant as we could get it via the access_token, but it will make querying rather easier.
| * | Register a device_id in the /v2/register flow.Richard van der Hoff2016-07-201-3/+10
| |/ | | | | | | | | | | | | | | | | | | This doesn't cover *all* of the registration flows, but it does cover the most common ones: in particular: shared_secret registration, appservice registration, and normal user/pass registration. Pull device_id from the registration parameters. Register the device in the devices table. Associate the device with the returned access and refresh tokens. Profit.
* / GET /devices endpointRichard van der Hoff2016-07-203-12/+199
|/ | | | | | | implement a GET /devices endpoint which lists all of the user's devices. It also returns the last IP where we saw that device, so there is some dancing to fish that out of the user_ips table.
* Merge pull request #932 from matrix-org/rav/register_refactorDavid Baker2016-07-201-1/+5
|\ | | | | Further registration refactoring
| * Further registration refactoringRichard van der Hoff2016-07-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change.
* | Merge pull request #922 from matrix-org/erikj/file_api2Erik Johnston2016-07-202-6/+7
|\ \ | |/ |/| Feature: Add filter to /messages. Add 'contains_url' to filter.
| * Add filter param to /messages APIErik Johnston2016-07-142-6/+7
| |
* | Merge pull request #931 from matrix-org/rav/refactor_registerDavid Baker2016-07-191-1/+2
|\ \ | | | | | | rest/client/v2_alpha/register.py: Refactor flow somewhat.
| * | rest/client/v2_alpha/register.py: Refactor flow somewhat.Richard van der Hoff2016-07-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is meant to be an *almost* non-functional change, with the exception that it fixes what looks a lot like a bug in that it only calls `auth_handler.add_threepid` and `add_pusher` once instead of three times. The idea is to move the generation of the `access_token` out of `registration_handler.register`, because `access_token`s now require a device_id, and we only want to generate a device_id once registration has been successful.
* | | Add device_id support to /loginRichard van der Hoff2016-07-182-7/+89
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed.
* / Bug fix: expire invalid access tokensNegar Fazeli2016-07-132-3/+32
|/
* Add ReadWriteLockErik Johnston2016-07-051-0/+85
|
* Remove room name & alias testDavid Baker2016-06-241-41/+0
| | | | as get_room_name_and_alias is now gone
* Rework ldap integration with ldap3Martin Weinelt2016-06-221-0/+1
| | | | | | | | | | | | | | | | | | | Use the pure-python ldap3 library, which eliminates the need for a system dependency. Offer both a `search` and `simple_bind` mode, for more sophisticated ldap scenarios. - `search` tries to find a matching DN within the `user_base` while employing the `user_filter`, then tries the bind when a single matching DN was found. - `simple_bind` tries the bind against a specific DN by combining the localpart and `user_base` Offer support for STARTTLS on a plain connection. The configuration was changed to reflect these new possibilities. Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
* Enable use_frozen_events in testsErik Johnston2016-06-171-0/+1
|
* Add function to load config without generating itMark Haines2016-06-092-3/+21
| | | | | | | | | | | | | | | | Renames ``load_config`` to ``load_or_generate_config`` Adds a method called ``load_config`` that just loads the config. The main synapse.app.homeserver will continue to use ``load_or_generate_config`` to retain backwards compat. However new worker processes can use ``load_config`` to load the config avoiding some of the cruft needed to generate the config. As the new ``load_config`` method is expected to be used by new configs it removes support for the legacy commandline overrides that ``load_or_generate_config`` supports
* Fix a bug caused by a change in auth_handler functionNegar Fazeli2016-06-081-6/+3
| | | | Fix the relevant unit test cases
* Fix AS retries, but with correct orderingErik Johnston2016-06-071-4/+4
|
* Fix AS retriesErik Johnston2016-06-071-3/+3
|
* Remove event fetching from DB threadsErik Johnston2016-06-031-1/+1
|
* Change CacheMetrics to be quickerErik Johnston2016-06-031-13/+10
| | | | | | We change it so that each cache has an individual CacheMetric, instead of having one global CacheMetric. This means that when a cache tries to increment a counter it does not need to go through so many indirections.
* Store the typing users as user_id strings. (#819)Mark Haines2016-06-021-2/+2
| | | Rather than storing them as UserID objects.
* Allow external processes to mark a user as syncing. (#812)Mark Haines2016-06-021-9/+7
| | | | | | | | | | | | * Add infrastructure to the presence handler to track sync requests in external processes * Expire stale entries for dead external processes * Add an http endpoint for making users as syncing Add some docstrings and comments. * Fixes
* Split out the auth handlerDavid Baker2016-06-022-11/+6
|
* Inject fake room list handler in testsDavid Baker2016-06-011-0/+2
| | | | Otherwise it tries to start the remote public room list updating looping call which breaks.
* Move the AS handler out of the Handlers object.Mark Haines2016-05-311-3/+3
| | | | | | Access it directly from the homeserver itself. It already wasn't inheriting from BaseHandler storing it on the Handlers object was already somewhat dubious.
* Fix set profile error with Requester.Negi Fazeli2016-05-231-9/+25
| | | | | Replace flush_user with delete access token due to function removal Add a new test case for if the user is already registered
* Move typing handler out of the Handlers objectMark Haines2016-05-173-11/+3
|
* Merge branch 'develop' into markjh/member_cleanupMark Haines2016-05-171-1/+1
|\
| * Move the presence handler out of the Handlers objectMark Haines2016-05-161-1/+1
| |
* | get_room_members is unused nowMark Haines2016-05-161-18/+0
| |
* | Replaces calls to fetch_room_distributions_into with get_joined_hosts_for_roomMark Haines2016-05-162-45/+6
|/
* Merge pull request #783 from matrix-org/markjh/slave_account_dataMark Haines2016-05-131-0/+56
|\ | | | | Add a slaved datastore for account data
| * Add a slaved datastore for account dataMark Haines2016-05-131-0/+56
| |
* | Create user with expiryNegi Fazeli2016-05-134-6/+162
|/ | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com>
* Replicate push actionsMark Haines2016-04-211-0/+43
|
* Merge pull request #738 from matrix-org/markjh/slaved_receiptsMark Haines2016-04-193-3/+43
|\ | | | | Add a slaved receipts store
| * Add a slaved receipts storeMark Haines2016-04-193-3/+43
| |
* | Replicate get_invited_rooms_for_userMark Haines2016-04-191-0/+12
|/
* Create log context in Measure if one doesn't existErik Johnston2016-04-181-2/+2
|
* Merge pull request #677 from matrix-org/erikj/dns_cacheErik Johnston2016-04-081-2/+32
|\ | | | | Read from DNS cache if within TTL
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/dns_cacheErik Johnston2016-04-077-6/+260
| |\
| * | TestsErik Johnston2016-04-061-2/+29
| | |
| * | Read from DNS cache if within TTLErik Johnston2016-03-311-1/+4
| | |
* | | Remove some unused functions (#711)Mark Haines2016-04-084-266/+4
| | | | | | | | | | | | | | | | | | | | | | | | * Remove some unused functions * get_room_events_stream is only used in tests * is_exclusive_room might actually be something we want
* | | Add tests for redactionsMark Haines2016-04-072-2/+51
| | |
* | | Merge pull request #704 from matrix-org/markh/slaveIIIMark Haines2016-04-071-1/+90
|\ \ \ | | | | | | | | Add tests for get_latest_event_ids_in_room and get_current_state
| * | | Add sensible __eq__ operators inside the tests.Mark Haines2016-04-071-1/+28
| | | | | | | | | | | | | | | | | | | | Rather than adding them globally. This limits the changes to only affect the tests.
| * | | Add tests for get_latest_event_ids_in_room and get_current_stateMark Haines2016-04-071-0/+62
| | |/ | |/|
* / | Deduplicate joinsErik Johnston2016-04-071-0/+44
|/ /
* | Test that room membership is replicatedMark Haines2016-04-061-8/+63
| |
* | Merge pull request #697 from matrix-org/markjh/slaveIMark Haines2016-04-064-0/+199
|\ \ | | | | | | Add a slaved events store class
| * | Add a slaved events store classMark Haines2016-04-064-0/+199
| | | | | | | | | | | | | | | Add a test to check that get_room_names_and_aliases does the same thing on both the master and on the slave data store.
* | | Don't require config to create databaseErik Johnston2016-04-062-4/+4
|/ /
* / Do checks for memberships before creating eventsErik Johnston2016-04-011-2/+2
|/
* Add a replication stream for state groupsMark Haines2016-03-301-3/+27
|
* Remove dead code left over from presence changesMark Haines2016-03-171-10/+0
|
* Fix testsDavid Baker2016-03-161-4/+5
|
* Add replication stream for pushersMark Haines2016-03-151-0/+1
|
* Use parse_json_object_from_request to parse JSON out of request bodiesMark Haines2016-03-111-2/+4
|
* Flake8 fixblide2016-03-101-6/+6
|
* Register endpoint returns refresh_tokenblide2016-03-101-12/+18
| | | | Guest registration still doesn't return refresh_token
* Fix testsDavid Baker2016-03-073-20/+20
|
* Fix unit testsMark Haines2016-03-041-2/+2
|
* Merge branch 'develop' into markjh/pushrule_streamMark Haines2016-03-046-25/+53
|\
| * tests/utils: added room_invite_state_types to test configPatrik Oldsberg2016-03-041-0/+1
| | | | | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
| * Pass whole requester to ratelimitingDaniel Wagner-Hall2016-03-034-13/+29
| | | | | | | | This will enable more detailed decisions
| * Merge pull request #571 from matrix-org/daniel/asidsDaniel Wagner-Hall2016-03-032-7/+16
| |\ | | | | | | Mark AS users with their AS's ID
| | * Mark AS users with their AS's IDDaniel Wagner-Hall2016-02-112-7/+16
| | |
| * | Merge pull request #612 from matrix-org/erikj/cache_sizeErik Johnston2016-03-021-5/+7
| |\ \ | | | | | | | | Add environment variable SYNAPSE_CACHE_FACTOR, default it to 0.1
| | * | Move cache size fiddling to descriptors only. Fix testsErik Johnston2016-03-011-5/+7
| | | |
* | | | Hook push rules up to the replication APIMark Haines2016-03-021-2/+4
|/ / /
* / / Add a /replication API for extracting the updates that happened onMark Haines2016-03-013-2/+196
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | synapse This is necessary for replicating the data in synapse to be visible to a separate service because presence and typing notifications aren't stored in a database so won't be visible to another process. This API can be used to either get the raw data by requesting the tables themselves or to just receive notifications for updates by following the streams meta-stream. Returns updates for each table requested a JSON array of arrays with a row for each row in the table. Each table is prefixed by a header row with the: name of the table, current stream_id position for the table, number of rows, number of columns and the names of the columns. This is followed by the rows that have been added to the server since the requester last asked. The API has a timeout and is hooked up to the notifier so that a slave can long poll for updates.
* | Check that the disable_registration config key is handled correctlyMark Haines2016-02-221-0/+21
| |
* | Add a test for TreeCache.__contains__Mark Haines2016-02-222-0/+9
| |
* | Test Filter.filter_roomsMark Haines2016-02-191-0/+18
| | | | | | | | | | Also check that the __repr__ method for FilterCollection does something sensible.
* | Fix flake8 warnings for testsMark Haines2016-02-1938-363/+358
| |
* | Don't set currently_active for remote presenceErik Johnston2016-02-191-4/+15
| |
* | Add unit testErik Johnston2016-02-181-0/+373
| |
* | Remove old tests.Erik Johnston2016-02-186-2098/+0
| |
* | Initial cutErik Johnston2016-02-171-2/+2
| |
* | Add wheeltimer implErik Johnston2016-02-171-0/+74
|/
* Merge pull request #566 from matrix-org/erikj/logcontextErik Johnston2016-02-101-9/+1
|\ | | | | Don't bother copying records on parent context
| * Fix testErik Johnston2016-02-091-9/+1
| |
* | TypoErik Johnston2016-02-091-1/+1
| |
* | Fix testErik Johnston2016-02-091-3/+4
|/
* Error if macaroon key is missing from configDaniel Wagner-Hall2016-02-053-0/+141
| | | | | | | | | | | | | Currently we store all access tokens in the DB, and fall back to that check if we can't validate the macaroon, so our fallback works here, but for guests, their macaroons don't get persisted, so we don't get to find them in the database. Each restart, we generate a new ephemeral key, so guests lose access after each server restart. I tried to fix up the config stuff to be less insane, but gave up, so instead I bolt on yet another piece of custom one-off insanity. Also, add some basic tests for config generation and loading.
* Merge pull request #556 from matrix-org/daniel/configDaniel Wagner-Hall2016-02-033-4/+4
|\ | | | | Rename config field to reflect yaml name
| * Rename config field to reflect yaml nameDaniel Wagner-Hall2016-02-033-4/+4
| |
* | Simplify get_roomsErik Johnston2016-02-031-26/+0
|/
* Fix the mock homserver used in the testsMark Haines2016-01-291-0/+1
|
* Merge pull request #536 from matrix-org/erikj/syncErik Johnston2016-01-291-8/+1
|\ | | | | Make /sync "better".
| * Allow paginating backwards from stream tokenErik Johnston2016-01-281-8/+1
| |
| * Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-281-2/+14
| |\
* | \ Merge pull request #538 from matrix-org/erikj/fix_lru_cacheErik Johnston2016-01-292-0/+19
|\ \ \ | | | | | | | | Fix LruCache. Make TreeCache track its own size.
| * | | Add testsErik Johnston2016-01-292-0/+19
| | | |
* | | | Fix testErik Johnston2016-01-281-3/+4
|/ / /
* | / Merge pull request #534 from matrix-org/erikj/setupErik Johnston2016-01-283-5/+12
|\| | | |/ |/| Add a Homeserver.setup method
| * Fix testsErik Johnston2016-01-273-5/+12
| |
* | Merge pull request #535 from matrix-org/rav/paginate_from_stream_tokenRichard van der Hoff2016-01-281-2/+14
|\ \ | |/ |/| Make it possible to paginate forwards from stream tokens
| * Make it possible to paginate forwards from stream tokensRichard van der Hoff2016-01-271-2/+14
| | | | | | | | | | In order that we can fill the gap after a /sync, make it possible to paginate forwards from a stream token.
* | Remove redundated BaseHomeServerErik Johnston2016-01-265-314/+30
|/
* Fix testsErik Johnston2016-01-251-6/+4
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/syncErik Johnston2016-01-222-0/+86
|\
| * Revert all the bits changing keys of eeverything that used LRUCaches to tuplesDavid Baker2016-01-222-35/+35
| |
| * Make LRU cache not default to treecache & add options to use itDavid Baker2016-01-221-1/+2
| |
| * Test treecache directlyDavid Baker2016-01-221-0/+19
| |
| * Add tests for treecache directly and test del_multi at the LruCache level too.David Baker2016-01-221-0/+66
| |
| * Change LRUCache to be tree-based so we can delete subtrees.David Baker2016-01-212-35/+35
| |
* | Fix testsErik Johnston2016-01-221-1/+1
|/
* Cache dns lookups, and use the cache if we fail to lookup servers laterErik Johnston2016-01-201-0/+115
|
* Make unit tests workErik Johnston2016-01-182-559/+0
|
* Require unbanning before other membership changesDaniel Wagner-Hall2016-01-151-3/+3
|
* Require ID and as_token be unique for ASsDaniel Wagner-Hall2016-01-142-16/+86
| | | | | Defaults ID to as_token if not specified. This will change when IDs are fully supported.
* Delete the table objects from TransactionStoreMark Haines2016-01-132-2/+0
|
* Merge pull request #478 from matrix-org/daniel/userobjectDaniel Wagner-Hall2016-01-113-13/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a User object I'm sick of passing around more and more things as tuple items around the whole world, and needing to edit every call site every time there is more information about a user. So pass them around together as an object. This object has incredibly poorly named fields because we have a convention that `user` indicates a UserID object, and `user_id` indicates a string. I tried to clean up the whole repo to fix this, but gave up. So instead, I introduce a second convention. A user_object is a User, and a user_id_object is a UserId. I may have cried a little bit.
| * Introduce a Requester objectDaniel Wagner-Hall2016-01-113-13/+11
| | | | | | | | | | | | | | | | | | This tracks data about the entity which made the request. This is instead of passing around a tuple, which requires call-site modifications every time a new piece of optional context is passed around. I tried to introduce a User object. I gave up.
* | Merge pull request #456 from matrix-org/store_event_actionsDavid Baker2016-01-083-1/+26
|\ \ | |/ |/| Send unread notification counts
| * fix testsDavid Baker2016-01-063-1/+10
| |
| * Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-051-9/+9
| |\
| * | fix testsDavid Baker2016-01-042-2/+2
| | |
| * | Merge remote-tracking branch 'origin/develop' into store_event_actionsDavid Baker2016-01-041-0/+60
| |\ \
| * | | Add mocks to make tests work againDavid Baker2015-12-222-0/+16
| | | |
* | | | copyrightsMatthew Hodgson2016-01-0753-53/+53
| |_|/ |/| |
* | | Allow guests to upgrade their accountsDaniel Wagner-Hall2016-01-051-9/+9
| |/ |/|
* | Add a unit test for the snapshot cacheMark Haines2015-12-231-0/+60
|/
* Merge remote-tracking branch 'origin/master' into developMark Haines2015-12-071-1/+1
|\
| * Fix mock import in tests.Oleg Girko2015-12-061-1/+1
| | | | | | | | | | | | | | | | For some reason, one test imports Mock class from mock.mock rather than from mock. This change fixes this error. Signed-off-by: Oleg Girko <ol@infoserver.lv>
* | Host /unstable and /r0 versions of r0 APIsDaniel Wagner-Hall2015-12-011-2/+3
| |
* | rename the method in the tests as wellMark Haines2015-12-011-3/+3
|/
* Update testsErik Johnston2015-11-173-0/+17
|
* Return non-room events from guest /events callsDaniel Wagner-Hall2015-11-121-0/+3
|
* Fix an issue with ignoring power_level changes on divergent graphsRichard van der Hoff2015-11-121-0/+93
| | | | | | | | Changes to m.room.power_levels events are supposed to be handled at a high priority; however a typo meant that the relevant bit of code was never executed, so they were handled just like any other state change - which meant that a bad person could cause room state changes by forking the graph from a point in history when they were allowed to do so.
* Merge pull request #359 from matrix-org/markjh/incremental_indexingErik Johnston2015-11-112-0/+79
|\ | | | | Incremental background updates for db indexes
| * Test for background updatesMark Haines2015-11-102-0/+79
| |
* | Return world_readable and guest_can_join in /publicRoomsDaniel Wagner-Hall2015-11-101-0/+2
| |
* | Add a couple of unit tests for room/<x>/messagesRichard van der Hoff2015-11-091-0/+56
|/ | | | ... merely because I was trying to figure out how it worked, and couldn't.
* Open up /events to anonymous users for room events onlyDaniel Wagner-Hall2015-11-054-26/+89
| | | | Squash-merge of PR #345 from daniel/anonymousevents
* Merge branch 'develop' of github.com:matrix-org/synapse into developDaniel Wagner-Hall2015-11-044-117/+1
|\
| * Merge branch 'develop' into daniel/removesomeliesMark Haines2015-11-042-110/+2
| |\ | | | | | | | | | | | | Conflicts: synapse/notifier.py
| | * Remove the LockManager class because it wasn't being usedMark Haines2015-11-041-108/+0
| | |
| * | Remove more unused parametersDaniel Wagner-Hall2015-11-023-9/+1
| | |
* | | Allow guests to register and call /events?room_id=Daniel Wagner-Hall2015-11-046-18/+48
| |/ |/| | | | | | | | | | | This follows the same flows-based flow as regular registration, but as the only implemented flow has no requirements, it auto-succeeds. In the future, other flows (e.g. captcha) may be required, so clients should treat this like the regular registration flow choices.
* | Merge branch 'develop' into markjh/room_tagsMark Haines2015-11-021-2/+7
|\|
| * Fix a 500 error resulting from empty room_idsRichard van der Hoff2015-10-261-2/+7
| | | | | | | | | | POST /_matrix/client/api/v1/rooms//send/a.b.c gave a 500 error, because we assumed that rooms always had at least one character.
* | Support clients supplying older tokens, fix short poll testMark Haines2015-10-301-2/+2
|/
* Merge pull request #319 from matrix-org/erikj/filter_refactorErik Johnston2015-10-221-26/+31
|\ | | | | Refactor api.filtering to have a Filter API
| * Refactor api.filtering to have a Filter APIErik Johnston2015-10-201-26/+31
| |
* | Merge pull request #314 from matrix-org/paul/event-redactionMark Haines2015-10-222-0/+115
|\ \ | |/ |/| Add some unit tests of prune_events()
| * Add some unit tests of prune_events()Paul "LeoNerd" Evans2015-10-162-0/+115
| |
* | Merge branch 'develop' of github.com:matrix-org/synapse into developDaniel Wagner-Hall2015-10-202-0/+129
|\ \
| * | Invoke EventBuilder directly instead of going via the EventBuilderFactoryPaul "LeoNerd" Evans2015-10-191-35/+3
| | |
| * | Capture __init__.pyPaul "LeoNerd" Evans2015-10-191-0/+15
| | |
| * | Use assertIn() instead of assertTrue on the 'in' operatorPaul "LeoNerd" Evans2015-10-191-6/+6
| | |
| * | Another signing test vector using an 'm.room.message' with content, so that ↵Paul "LeoNerd" Evans2015-10-191-1/+49
| | | | | | | | | | | | the implementation will have to redact it
| * | Initial minimial hack at a test of event hashing and signingPaul "LeoNerd" Evans2015-10-191-0/+98
| |/
* / Allow rejecting invitesDaniel Wagner-Hall2015-10-201-2/+2
|/ | | | | This is done by using the same /leave flow as you would use if you had already accepted the invite and wanted to leave.
* update filtering testsMark Haines2015-10-131-6/+6
|
* rename schema_prepare to prepare_databaseErik Johnston2015-10-131-1/+1
|
* Expose error more nicelyErik Johnston2015-10-131-1/+1
|
* Merge branch 'develop' of github.com:matrix-org/synapse into erikj/unfederatableErik Johnston2015-10-0211-98/+391
|\
| * synapse/storage/_base.py:_simple_selectupdate_one was unusedMark Haines2015-09-231-20/+0
| |
| * Move NullSource out of synapse and into tests since it is only used by the testsMark Haines2015-09-221-1/+17
| |