Commit Graph

712 Commits

Author SHA1 Message Date
Sergi Delgado Segura
2c0c1e4c42 Merge branch 'master' into cli_get_all_appointments 2020-04-20 13:27:46 +02:00
Turtle
ad078cf3af Test get_all_appointments e2e 2020-04-17 15:29:01 -04:00
Turtle
b6b95a9821 Add get_all_appointments cli command 2020-04-17 15:17:11 -04:00
Sergi Delgado Segura
52cbd73859 Merge pull request #122 from talaia-labs/116-openssl-python-dependencies
Defines minimal version of both openssl and python3 in DEPENDENCIES.
2020-04-10 11:33:35 +02:00
Sergi Delgado Segura
75060717fc Merge branch 'master' into 116-openssl-python-dependencies 2020-04-10 11:30:34 +02:00
Sergi Delgado Segura
8991f71148 Merge pull request #124 from talaia-labs/17-gatekeep-api
Adds user authentication
2020-04-07 11:33:11 +02:00
Sergi Delgado Segura
f350182012 sign_recoverable can raise a ValueError, handling it. 2020-04-03 21:56:42 +02:00
Sergi Delgado Segura
dcb221ea36 Adds missing cli register test 2020-04-03 20:57:01 +02:00
Sergi Delgado Segura
10e856ae74 Fixes typos according to the review 2020-04-03 16:38:46 +02:00
Sergi Delgado Segura
fe73ee7298 Fixes comments, docstrings and some renamings 2020-04-02 15:20:09 +02:00
Sergi Delgado Segura
39f2628b79 Fixes docs and adds register help 2020-04-02 15:15:45 +02:00
Sergi Delgado Segura
099ec5d1ce PEP8 fixes 2020-04-02 10:02:50 +02:00
Sergi Delgado Segura
b93aa64827 Patches unchanged variable after renaming in 3e32d8a85e 2020-04-02 10:02:11 +02:00
Sergi Delgado Segura
7abb4ada00 Updates AppoitmentDBM unit tests and adds UserDBM's 2020-04-01 21:30:34 +02:00
Sergi Delgado Segura
9a29e59781 Adds additional checks to DBManagers (Appointments and Users) 2020-04-01 21:30:18 +02:00
Sergi Delgado Segura
f31f356a1a Adapts tests to use userDB and registered_users content as dict 2020-04-01 18:27:27 +02:00
Sergi Delgado Segura
3009bb83ba Addaps api and daemon to use userDB 2020-04-01 18:26:36 +02:00
Sergi Delgado Segura
a46bab6b20 Adds user database and modifies registered_user content to be a dict instead of an int
Future additional data may be stored, so it's better if we store it as something that can hold it
2020-04-01 18:25:14 +02:00
Sergi Delgado Segura
4a3f4bc522 Addapts tests to match 7031b552f7. Improves DBManager tests. 2020-04-01 17:19:41 +02:00
Sergi Delgado Segura
7031b552f7 Splits DBManager in parent and child classes so a UserDBManager can be implemented
- DBManager preserves the basic methods, while the appointment related ones have been moved to AppointmentDBM.
- AppointmentDBM handles json loads and dumps for appointments and trackers, so the corresponding methods can be removed from their classes.
- Updates docs.
2020-04-01 17:18:37 +02:00
Sergi Delgado Segura
0e392d1f2a Cryptographer.sigrec_decode assumed signatures where properly encoded.
- Fixes a bug in sigrec_decode where the decoding function assumend that the first by was formatted as 31 + SigRec. Non properly encoded signatures made the function to crash due to an overflow (int_to_bytes(x) for negative x)
2020-04-01 17:04:33 +02:00
Sergi Delgado Segura
2d67fe8638 rpc_passwd -> rpc_password. The former can be confusing since the bitcoind parameter is rpcpassword. Avoiding that. 2020-04-01 11:14:20 +02:00
Sergi Delgado Segura
18e9a0fe5f Removes 2kib restriction from readmes 2020-03-31 17:51:19 +02:00
Sergi Delgado Segura
94be7acceb Defines minimal version of both openssl and python3 in DEPENDENCIES. Close #116. 2020-03-31 17:47:07 +02:00
Sergi Delgado Segura
0364dba5ca Fixes e2e tests to match the user authentication apporach
Last two tests are patched, user data must be stored between restarts
2020-03-31 16:56:52 +02:00
Sergi Delgado Segura
bf0ae36940 Removes old commented code 2020-03-31 16:55:40 +02:00
Sergi Delgado Segura
3e32d8a85e Fixes typo in variable and inconsistent return type 2020-03-31 16:54:52 +02:00
Sergi Delgado Segura
502f507b21 Adds missing size field in Builder when loading data from the database 2020-03-31 15:00:30 +02:00
Sergi Delgado Segura
b56123055d Adds flake8 and fixes style issues 2020-03-31 13:06:44 +02:00
Sergi Delgado Segura
03c8ad8c87 Improves API testing. Mocks data moving from Watcher/Responder instead of running them in the background. Closes #77. 2020-03-31 11:07:01 +02:00
Sergi Delgado Segura
31a25f3f60 Adds unit tests for register, and adaps existing tests to match the changes in the commands 2020-03-30 22:24:20 +02:00
Sergi Delgado Segura
f8cc099696 Adds register command to cli, modifies get_appointment to work with POST, refactors cli to improve modularity and cleaning the code
- Adds register command
- Modifies get_appointment command to work with POST + adds signature
- Avoids passing config dict to functions if not necessary (passing single parameters instead)
- Moves key loading to main since most of the commands will need the keys now
- Refactors post_appointment and process_post_appointment_request to work with any post request, so it can be reused for both register and get_appointment
- Functions have been rearanged in a more logical order
- Error handling has been improved
2020-03-30 22:20:01 +02:00
Sergi Delgado Segura
746a78542f Adds missing tests to API and improves API testing by properly mocking the requests. Closes #77 2020-03-30 22:16:39 +02:00
Sergi Delgado Segura
354724075e Moves route assignment to API constructor so it can be properly tested 2020-03-30 22:16:22 +02:00
Sergi Delgado Segura
9ecf98e0c5 Adds tests for appointments updates of different sizes 2020-03-30 22:16:21 +02:00
Sergi Delgado Segura
c9b3bb625f Fixes slots difference calculation 2020-03-30 22:15:59 +02:00
Sergi Delgado Segura
93a389508e Adds checks of decreasing slots for added appointments 2020-03-30 16:35:45 +02:00
Sergi Delgado Segura
f55e37b0fc Adds unit test for watcher.get_appointment_summary 2020-03-30 16:22:52 +02:00
Sergi Delgado Segura
495ea3800e Fixes get_appointment response structure: {"locator": l, "status": s, "data": appointment_data} 2020-03-30 16:22:38 +02:00
Sergi Delgado Segura
709a40dc64 Fixes gatekeeper and common/tools tests according to 33966e59e1 2020-03-30 13:08:24 +02:00
Sergi Delgado Segura
c0ada5f818 Improves logging messages 2020-03-30 13:06:35 +02:00
Sergi Delgado Segura
33966e59e1 Moves (and renames) check_user_pk to common so cli can use it too. Fixes the regex so it only accepts {02, 03} as prefix 2020-03-30 13:06:01 +02:00
Sergi Delgado Segura
e924b57efc Appointment updates only do not decrease slots if not necessary
- For a given appointment, checks if it is an update and computes the difference of sizes if so.
- Additional slots are only filled if the new version is bigger. Slots are freed if the update is smaller.
- Adds get_appoiment_summary to get information in memory information of an appointment (so the API can check if a request is an update)
	- The API computes the uuid and requests it to the tower.
	- Size field has been added to all in memory appointments
2020-03-30 12:49:53 +02:00
Sergi Delgado Segura
02fd2e5149 Adds gatekeeper unit tests 2020-03-27 17:28:12 +01:00
Sergi Delgado Segura
6547e75a19 Adds user exist restriction to fill/free slots and update comments/docs 2020-03-27 17:28:07 +01:00
Sergi Delgado Segura
ae68cd33da Captures TypeErrors in Cryptographer.get_compressed_pk and adds unit tests 2020-03-27 16:50:47 +01:00
Sergi Delgado Segura
7e6a4849e6 Adds register unit tests, missing add and get appointment tests and sets MAX_APPOINTMENTS to 100 for testing 2020-03-27 14:58:35 +01:00
Sergi Delgado Segura
772f634d1f Sets MAX_APPOINTMENTS for Watcher unit tests to a small testable value (100) 2020-03-27 14:57:19 +01:00
Sergi Delgado Segura
3946599f91 Sets a more realistic valut for max_appointments and add default_slots in config 2020-03-27 14:57:19 +01:00
Sergi Delgado Segura
4c21326974 Moves slots added on register from gatekeeper to config 2020-03-27 14:57:11 +01:00