Signal-iOS/SignalServiceKit/tests/Util
George Nachman 36119e4367 Introduce Refinery to help batch DB queries.
This PR is the first in a series that will
optimize looking up full names of group members.

The biggest source of slowness when opening a
group chat is looking up the full names of group
members in the search for duplicates. It is slow
because it requires multiple db queries for each
member.

The characterstic feature of this algorithm is the
iterative process of assigning names to signal
addresses. For example, some contacts' names may
be cached. For others, their profiles must be
fetched. For those without profiles, their phone
numbers must be formatted (which requires fetching
SignalAccounts). For those without phone numbers,
their user names must be formatted.

This PR creates a class called Refinery. Its job
is to make it easy to assign values to keys
through multiple passes, where each pass may
succeed only for a subset of keys.

This is useful because we will eventually issue a
single DB query for some of these passes.
2022-03-04 10:44:07 -08:00
..
Date+SSKTest.swift Run precommit script 2020-08-13 15:08:12 -07:00
DeviceNamesTest.swift Linking flow 2019-10-17 10:19:32 -06:00
DispatchQueue+OWSTest.swift Adopt changes from precommit linting scripts 2020-07-06 13:48:59 -07:00
JobQueueTest.swift Disable unnecessary job queues from running in extensions 2021-06-24 12:20:46 -07:00
kbs_pin_sanitation_vectors.json Additional KBS vectors and normalization fix 2020-01-23 08:56:05 -08:00
kbs_storage_service_encryption_vectors.json Storage Service Encryption Finalization 2020-02-11 13:29:02 -08:00
kbs_vectors.json Additional KBS vectors and normalization fix 2020-01-23 08:56:05 -08:00
KeyBackupServiceTests.swift Silently migrate master key to new KBS enclave when necessary 2020-10-06 15:07:11 -07:00
LRUCacheTest.swift Apply LRUCache everywhere. 2021-06-30 16:01:08 -03:00
MessagePaddingTests.m Import SignalMetadataKit wholesale into SignalServiceKit 2022-01-26 09:50:55 -08:00
NSData+ImageTest.swift Fix broken tests. 2020-09-02 16:31:42 -03:00
NSURLSessionDataTask+OWS_HTTPTest.swift Respond to CR; fix broken tests. 2021-08-18 14:26:20 -03:00
OWSAnalyticsTests.m Apply script to normalize includes and imports. 2021-10-21 09:21:10 -03:00
OWSErrorTest.swift Refine names. 2021-08-18 15:01:04 -03:00
OWSOperationTest.swift Deprecate REST, Part 1 2021-08-18 14:25:36 -03:00
RefineryTest.swift Introduce Refinery to help batch DB queries. 2022-03-04 10:44:07 -08:00
RemoteConfigManagerTests.swift PR Feedback 2020-09-21 12:08:36 -07:00
TSMessageStorageTests.m Apply script to normalize includes and imports. 2021-10-21 09:21:10 -03:00
UnfairLockTest.swift IOS-631: Suppress message processing pipeline while we have a pending backfill operation 2020-07-22 21:10:27 -07:00
ViewOnceMessagesTest.swift Rework dependency access. 2021-03-25 09:24:27 -03:00