Server supporting the Signal Private Messenger applications on Android, Desktop, and iOS
Go to file
Jonathan Klabunde Tomer 48ebafa4e0
DynamoDBExtension refactor and helpers for our schema (#1327)
There's a lot of boilerplate involved in setting up a DynamoDBExtension, and some tests were creating several extensions
rather than one with several tables, which is probably slower than it has to be.

This change adds a new DynamoDbExtensionSchema class in which we can define the Dynamo schema for tests, and refactors
DynamoDbExtension to make it easy to instantiate a single extension with all the tables one wants (and no more, both to
minimize test startup time and to ensure we explicitly test our dependencies and lack thereof).

Tests requiring a DynamoDbExtension with a table schema that's not part of the normal Signal schema can instantiate a
DynamoDbExtension.RawSchema instead.

Test timings are unaffected, at least on my machine. Before:
```[INFO] service ............................................ SUCCESS [01:18 min]```

After:
```[INFO] service ............................................ SUCCESS [01:18 min]```

Co-authored-by: Jonathan Klabunde Tomer <jkt@viola.signal.org>
2023-04-03 13:08:43 -07:00
.github Updating documentation github action to handle no changes case 2023-02-28 14:48:09 -08:00
.mvn Update to Maven 3.8.6 2022-12-01 18:09:38 -06:00
api-doc OpenAPI support 2023-02-24 13:03:30 -08:00
event-logger Add test for `GoogleCloudAdminEventLogger` 2023-01-17 11:20:46 -06:00
redis-dispatch Remove unused imports 2022-05-20 10:20:45 -07:00
service DynamoDBExtension refactor and helpers for our schema (#1327) 2023-04-03 13:08:43 -07:00
spam-filter@9a525f0708 Update to the latest version of the spam filter 2023-04-03 14:34:13 -04:00
websocket-resources refactoring: use constants for header names 2022-11-15 11:16:49 -08:00
.editorconfig Add new event logging module 2022-09-07 19:37:26 -05:00
.gitignore Ignore files created by emacs / lsp. 2023-01-18 15:44:29 -05:00
.gitmodules Update .gitmodules 2023-01-30 15:45:41 -08:00
LICENSE Add missing section to end of LICENSE file 2021-08-26 12:55:56 -05:00
README.md External links in comments from http to https 2022-07-26 15:17:58 -04:00
mvnw External links in comments from http to https 2022-07-26 15:17:58 -04:00
mvnw.cmd Add Maven Wrapper 2022-05-13 14:14:37 -05:00
pom.xml fixing embedded redis based tests 2023-03-15 13:56:40 -07:00

README.md

Signal-Server

Documentation

Looking for protocol documentation? Check out the website!

https://signal.org/docs/

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2013-2022 Signal Messenger, LLC

Licensed under the AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html