Commit Graph

392 Commits

Author SHA1 Message Date
Michael Kirk
793e2854a7 fixup tests 2019-06-27 10:21:41 -06:00
Michael Kirk
0907a2257f Convert Recipient and SessionStore to SignalServiceAddress 2019-06-26 17:48:16 -06:00
Michael Kirk
aff9b22228 This method is no longer available. Since we clear our db between tests, it's no longer necessary. 2019-06-26 15:23:16 -04:00
Matthew Chen
c8359fc932 Convert message sending to use any transactions. 2019-06-25 16:00:58 -04:00
Matthew Chen
e26a8e1bd4 Convert attachments to be any-only. 2019-06-24 15:34:02 -04:00
Michael Kirk
c34b21fa6a TSAccountManager holds uuid and red test for UUID work 2019-06-24 10:19:46 -06:00
Michael Kirk
e370848f08 Integration test for message processing.
Tests from `receivedEnvelopeData`, which is called by e.g. the websocket or the
messageFetcherJob through the message processing pipeline until the UIDatabase
is notified with the new message and thread.

Includes some test helpers to initialize sessions and encrypt/decrypt messages.
2019-06-24 10:19:46 -06:00
Michael Kirk
2523e8306f adapt to rename source -> sourceE164 2019-06-24 10:06:45 -06:00
Michael Kirk
a44f74a7bf fixup tests 2019-06-20 17:44:15 -06:00
Matthew Chen
a7a7499a8e Migrate more key-value stores. 2019-06-19 11:21:12 -04:00
Michael Kirk
6b78e702aa rename for clarity 2019-06-17 10:51:40 -06:00
Matthew Chen
04ac47089d Migrate preferences to use key-value store. 2019-06-17 11:13:15 -04:00
Matthew Chen
1eef9443d1 Respond to CR. 2019-06-14 10:41:15 -04:00
Matthew Chen
35fbc4418d Add PerMessageExpirationTest. 2019-06-14 10:41:15 -04:00
Matthew Chen
32076ea302 Rework the "is this a disappear message" accessors. 2019-06-10 11:41:39 -04:00
Michael Kirk
064438f1ca GRDB handles message send errors 2019-06-03 12:14:12 -06:00
Matthew Chen
96239c439a Respond to CR. 2019-05-31 12:39:50 -04:00
Michael Kirk
97c00bc919 add missing import to test 2019-05-30 18:45:58 -06:00
Michael Kirk
3b3a811f1a CR: constantize mimetype 2019-05-30 18:29:17 -06:00
Michael Kirk
7ddb20f00c MessageSenderJobQueueTest uses AnyTransactions 2019-05-30 18:28:06 -06:00
Michael Kirk
cd400e2912 convert factories to AnyWrite 2019-05-30 18:28:06 -06:00
Matthew Chen
27bdd499ac Fix test breakage. 2019-05-30 12:16:57 -04:00
Matthew Chen
6e32c9a79f Remove "ephemeral media" model changes. 2019-05-29 11:53:42 -04:00
Matthew Chen
fc25251dd8 Merge remote-tracking branch 'private/release/2.40.0' 2019-05-29 10:56:24 -04:00
Matthew Chen
47760f21c7 Fix test breakage. 2019-05-24 15:08:33 -04:00
Michael Kirk
373c3b0d61 method for testing only exists in iOS10+ 2019-05-22 16:03:07 -04:00
Matthew Chen
0cecce2e68 Use GRDB records for anyInsert() & anyUpdate(). Remove anySave(). Add handling of GRDB ids. 2019-05-22 09:18:42 -04:00
Michael Kirk
691209e25e Decrypt Messages with AnyTransaction
- Migrate protocol stores to KVStores
- Introduce AnyDatabaseQueue
- Move messaging pipeline to AnyTransactions
- Migrate specialized PushDecrypt job to generic JobQueue
2019-05-21 16:20:22 -04:00
Matthew Chen
a6629bfe63 Add EphemeralMedia model classes. 2019-05-20 17:05:49 -04:00
Michael Kirk
2ab50d28c6 require explicit default for getBool 2019-05-15 15:13:17 -06:00
Michael Kirk
fe65ff035f Sneaky Transaction audit for SDSKeyValueStore 2019-05-15 15:13:17 -06:00
Michael Kirk
46bb9de67e clear grdb between tests in SSK tests too 2019-05-14 15:10:02 -06:00
Michael Kirk
cb7a24aae2 fixup jobqueue test 2019-05-14 15:10:02 -06:00
Michael Kirk
c309c57c4c reset grdb between tests 2019-05-14 15:10:02 -06:00
Michael Kirk
fa184fd0b0 fixup message sender queue tests 2019-05-14 15:10:02 -06:00
Michael Kirk
662955832d fix jobqueue tests 2019-05-14 09:30:26 -06:00
Michael Kirk
43846f9a51 Merge tag '2.39.0.13' 2019-05-08 14:17:14 -06:00
Michael Kirk
32825535b3 update tests whose upstream data has changed 2019-05-08 14:14:17 -06:00
Michael Kirk
a1ee5feddc fixup tests 2019-05-08 14:14:17 -06:00
Matthew Chen
bfa40b84a3 Sticker refinements. 2019-05-08 09:26:39 -04:00
Michael Kirk
79e8725a56 fix up tests 2019-05-07 16:52:49 -06:00
Michael Kirk
116241df3f renames for clarity, fail hard on db error 2019-05-03 09:53:37 -06:00
Matthew Chen
b19062e44c Fix broken test. 2019-05-03 10:15:07 -04:00
Matthew Chen
43bfff7180 Cache suggested sticker results. 2019-05-03 10:06:27 -04:00
Matthew Chen
6394d80dc7 Respond to CR. 2019-05-03 09:53:19 -04:00
Matthew Chen
86a180e7be Add sticker suggestions for emoji input. 2019-05-03 09:22:41 -04:00
Matthew Chen
0024705254 Add sticker suggestions for emoji input. 2019-05-03 09:22:41 -04:00
Matthew Chen
b6b2c8af3b Track "known" sticker packs. 2019-04-30 09:15:08 -04:00
Matthew Chen
9348187dca Sticker previews using emoji. 2019-04-30 09:13:23 -04:00
Michael Kirk
81d5e09534 Merge tag '2.39.0.2' 2019-04-22 14:36:14 -07:00
Matthew Chen
85aa976101 Add Pinterest link previews. 2019-04-22 16:37:56 -04:00
Michael Walker
11af22432d Add pinterest domain and asset domains for link preview support 2019-04-22 16:36:44 -04:00
Matthew Chen
06968cc05c Respond to CR. 2019-04-22 10:18:29 -04:00
Matthew Chen
367436092f Added SDSKeyValueStoreTest. 2019-04-17 16:21:00 -04:00
Matthew Chen
3c6dde5ee0 Respond to CR. 2019-04-16 13:30:26 -04:00
Matthew Chen
de59ec9100 Respond to CR - generate extensions for more classes. 2019-04-16 10:42:12 -04:00
Matthew Chen
d1b882d0f8 Code generate remove() method for SDS models. 2019-04-16 09:01:47 -04:00
Matthew Chen
4d390108bb Respond to CR. 2019-04-15 16:52:34 -04:00
Matthew Chen
a5a50e572d Add simple unit test around SDSDatabaseStorage, serialization, etc. 2019-04-11 11:58:44 -04:00
Matthew Chen
5ca2991f0c Sketch out the SDS code generation.
* Copy SDS code generation and utility files from playground.
2019-04-11 09:15:28 -04:00
Michael Kirk
e42192624f fixup tests 2019-03-29 15:43:08 -06:00
Michael Kirk
a7e8f9713c Try to account for variability in network backed tests 2019-02-25 13:44:03 -07:00
Michael Kirk
cdb8663c81 fix up selecting after url case 2019-02-20 09:38:52 -07:00
Matthew Chen
c68eee5bfe Accept newlines in link preview titles. 2019-01-25 12:57:17 -05:00
Matthew Chen
957a733838 Yet more link preview refinements. 2019-01-25 11:33:09 -05:00
Matthew Chen
4c5b9001c3 Elaborate the link preview tests. 2019-01-24 16:51:39 -05:00
Matthew Chen
2e9f2e6154 Elaborate the link preview tests. 2019-01-24 16:17:31 -05:00
Matthew Chen
744d3074ac Fix link preview tests. 2019-01-24 14:34:31 -05:00
Matthew Chen
f13c1de738 Respond to Cr. 2019-01-15 10:36:21 -05:00
Matthew Chen
55376975f5 Add link preview parsing and validation logic. 2019-01-14 17:06:47 -05:00
Matthew Chen
a477e01a4a Apply LinkPreview model. 2019-01-14 16:20:54 -05:00
Michael Kirk
60f816c747 Area code inference for US and Brazil 2019-01-10 12:43:57 -05:00
Michael Kirk
ea76ea9492 fix phone number parsing test 2019-01-10 12:43:57 -05:00
Matthew Chen
1d905119ac Fix issues from integration testing. 2018-12-19 18:26:15 -05:00
Matthew Chen
cd194af31a Respond to CR. 2018-12-19 18:26:15 -05:00
Matthew Chen
0005a33d37 Decrypt device names in linked devices views. 2018-12-19 18:26:15 -05:00
Matthew Chen
c113c8e962 Add DeviceNamesTest. 2018-12-19 18:26:15 -05:00
Michael Kirk
7eaaab7be4 restrict self device id in message building, not in recipient data model 2018-11-13 10:38:08 -06:00
Michael Kirk
7cba367c0a reconcile jobqueue tests with NSTimer based retry 2018-11-11 11:31:57 -06:00
Michael Kirk
2f3d875dcf fixup ud manager tests 2018-11-11 11:31:57 -06:00
Michael Kirk
79bed93b2d reconcile jobqueue with new readiness based setup 2018-11-11 11:28:59 -06:00
Michael Kirk
24668fa790 update to reflect id assignment on build 2018-11-11 11:28:59 -06:00
Michael Kirk
4b0fc51933 update test to reflect correct behavior 2018-11-11 11:28:59 -06:00
Michael Kirk
e2ad9d81bb attachment factory
flesh out other factory builders
2018-11-11 11:28:59 -06:00
Michael Kirk
4d860bb9c7 fixup job queue test 2018-11-11 11:28:59 -06:00
Michael Kirk
24f57cedda add missing method to FakeContactsManager, convert to Swift to avoid missing
protocol methods in the future.
2018-11-11 11:28:59 -06:00
Michael Kirk
ca58bb00f7 fixup tests from throws_ audit 2018-11-11 11:16:37 -06:00
Michael Kirk
f45908c89d fixup spk deletion test 2018-11-11 11:13:05 -06:00
Michael Kirk
8472801c4b fix link error when launching SSK tests 2018-11-11 11:13:05 -06:00
Matthew Chen
40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Matthew Chen
ee87f1b489 Fix test breakage. 2018-10-30 16:18:22 -04:00
Matthew Chen
2541be1619 Apply refinements to UD logic. 2018-10-30 16:18:22 -04:00
Michael Kirk
cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 2018-10-30 11:35:34 -06:00
Michael Kirk
5f5ec9b82a ExceptionWrap loadPreKey 2018-10-30 11:35:34 -06:00
Matthew Chen
deafc749d1 Fix UD manager tests. 2018-10-29 16:41:02 -04:00
Michael Kirk
b8e4bfff86 shuffle isReady->isSetup, centralize starting workStep 2018-10-25 11:56:39 -06:00
Michael Kirk
3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
2018-10-25 11:54:59 -06:00
Matthew Chen
c6ef7f18e7 Improve test logging. 2018-10-16 13:01:24 -04:00
Michael Kirk
d6cbdddc42 Fix test build, rename src/Test/ ->src/TestUtils/ to avoid confusion with the
existing test/ directory
2018-10-15 15:58:54 -06:00
Michael Kirk
ac7f9f62d4 factories for tests 2018-10-15 15:20:23 -06:00
Matthew Chen
32cf68bece Get all tests building. 2018-10-15 12:50:07 -04:00
Matthew Chen
8bd97aaaa0 Respond to CR. 2018-10-11 08:55:37 -04:00
Matthew Chen
03f23b5f79 Fix breakage in UD manager; add UD manager test, hang TSAccountManager on SSKEnv, fix bugs in tests. 2018-10-11 08:46:24 -04:00
Matthew Chen
a6eed30127 Add 'is ud' property to outgoing messages. 2018-10-10 14:32:14 -04:00
Matthew Chen
1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 2018-10-03 08:59:55 -04:00
Matthew Chen
dca46e019f Respond to CR. 2018-10-02 13:25:42 -04:00
Matthew Chen
7fd15d2fd9 Add server certificate methods to UD manager. 2018-10-02 13:24:00 -04:00
Matthew Chen
21177e84db Fix or disable tests broken by recent merges. 2018-10-02 13:19:51 -04:00
Matthew Chen
71da312336 Post-SMK ud changes. 2018-10-02 13:19:41 -04:00
Matthew Chen
db487705c3 Fix breakage in the tests. 2018-10-02 12:42:07 -04:00
Matthew Chen
7d727b7ac9 Modify proto wrapper builders to require required fields. 2018-10-01 09:08:23 -04:00
Matthew Chen
04db4ca950 Get SMK tests building and passing. 2018-10-01 09:08:02 -04:00
Matthew Chen
3738155c81 Fix build breakage from SMK. 2018-10-01 09:08:02 -04:00
Matthew Chen
8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -04:00
Matthew Chen
0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04:00
Matthew Chen
98630cca50 Respond to CR; add db utility methods to test base classes. 2018-09-21 09:21:34 -04:00
Matthew Chen
559c496ae5 Clean up. 2018-09-21 09:08:39 -04:00
Matthew Chen
66fc389fba Get SSK tests building and running. 2018-09-21 09:08:39 -04:00
Matthew Chen
e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Matthew Chen
62c55c9cfb Fix broken tests. 2018-09-14 14:20:39 -04:00
Matthew Chen
2ba642c9e9 Ensure fakes/mocks are debug-only. 2018-09-14 14:18:39 -04:00
Matthew Chen
e784f9feeb Move fakes to SSK/tests. 2018-09-14 14:05:43 -04:00
Matthew Chen
25239ca608 Respond to CR. 2018-09-10 17:43:17 -05:00
Matthew Chen
3935b019f4 Add base class for tests. 2018-09-10 17:30:18 -05:00
Matthew Chen
3a12446be8 Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:41 -04:00
Matthew Chen
bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 2018-09-07 16:19:00 -04:00
Michael Kirk
495830f08d Fixup some SSK tests
Still more to do...
2018-08-31 11:03:27 -06:00
Michael Kirk
6d92413931 WIP: Run SSK tests
This just configures them to run. They're very broken at the moment.
2018-08-31 12:35:32 -04:00
Michael Kirk
ce2a4422e3 fix desktop linking for some users
// FREEBIE
2017-09-25 17:00:50 -04:00
Michael Kirk
1f7b6f61c6 Regression test for provisioning cipher
// FREEBIE
2017-08-30 09:47:29 -04:00
Michael Kirk
72fbb02028 aes-gcm via openssl
// FREEBIE
2017-08-21 16:37:16 -04:00
Michael Kirk
97afa4d48a verification on decrypt
// FREEBIE
2017-08-15 15:19:40 -04:00
Michael Kirk
135243e383 CR: variable rename, better comments, fix up tests
// FREEBIE
2017-08-14 15:18:12 -04:00
Michael Kirk
7499b3aaf0 Avatar API integration / WIP crypto scheme
Crypto Scheme:

- Name (un)padding
- WIP AES-GCM (funtioning, but need to verify against android
  implementation, and tag functionality)

Changes to avatar API:

- hard code avatar domain (cdn.signal.org)
- avatar form hands out new avatar key, invalidating old avatar
- preliminary aes-gcm integration

Also:

- New type to represent AES128 keys, rather than passing around opaque
  data blobs everywhere, we can use the compiler to help us make sure
  we're passing compliant keying material.

- Started using factory pattern for API requests. This is intended to be
  a lighter weight way to implement new API requests, rather than the
  current 1-method class ceremony.

// FREEBIE
2017-08-14 12:45:37 -04:00
Michael Kirk
40b99a15ed Fix up some tests
Included plausible test implementation for an in-memory profile manager.

Note two tests remain failing (they've been failing for a while)

// FREEBIE
2017-08-09 12:17:03 -04:00
Michael Kirk
52bd682565 fix some recently broken tests
// FREEBIE
2017-08-04 11:33:51 -04:00
Michael Kirk
935b51aa19 Fixup tests
// FREEBIE
2017-08-03 13:27:09 -04:00
Matthew Chen
2418baec15 Respond to CR.
// FREEBIE
2017-07-24 16:13:22 -04:00
Matthew Chen
128c40a26c Respond to CR.
// FREEBIE
2017-07-21 15:32:26 -04:00
Matthew Chen
c8b2e22a3b [SSK] Migrating changes from obsolete SSK repo.
// FREEBIE
2017-07-21 15:22:28 -04:00
Matthew Chen
64a99c63b3 [SSK] Migrating changes from obsolete SSK repo.
// FREEBIE
2017-07-21 15:08:37 -04:00
Michael Kirk
ccb4a88742 Import SSK (and history) into Signal-iOS
git remote add ssk ../SignalServiceKit
git remote update
git merge -s ours --allow-unrelated-histories --no-commit ssk/master
git read-tree --prefix=SignalServiceKit -u ssk/master
git commit
2017-07-21 13:55:01 -04:00