1
0
mirror of git://jb55.com/damus synced 2024-09-30 00:40:45 +00:00
damus/damusTests
Daniel D’Aquino e951370a76 Fix relay URL trailing slash issues
This commit tries to replace all usage of `String` to represent relay
URLs and use `RelayURL` which automatically converts strings to a
canonical relay URL format that is more reliable and avoids issues related to
trailing slashes.

Test 1: Main issue fix
-----------------------

PASS

Device: iPhone 15 Simulator
iOS: 17.4
Damus: This commit
Steps:
1. Delete all connected relays
2. Add `wss://relay.damus.io/` (with the trailing slash) to the relay list
3. Try to post. Post should succeed. PASS
4. Try removing this newly added relay. Relay should be removed successfully. PASS

Test 2: Persistent relay list after upgrade
--------------------------------------------

PASS

Device: iPhone 15 Simulator
iOS: 17.4
Damus: 1.8 (1) `247f313b` + This commit
Steps:
1. Downgrade to old version
2. Add some relays to the list, some without a trailing slash, some with
3. Upgrade to this commit
4. All relays added in step 2 should still be there, and ones with a trailing slash should have been corrected to remove the trailing slash

Test 3: Miscellaneous regression tests
--------------------------------------

Device: iPhone 15 Simulator
iOS: 17.4
Damus: This commit
Coverage:
1. Posting works
2. Search works
3. Relay connection status works
4. Adding relays work
5. Removing relays work
6. Adding relay with trailing slashes works (it fixes itself to remove the trailing slash)
7. Adding relays with different paths works (e.g. wss://yabu.me/v1 and wss://yabu.me/v2)
8. Adding duplicate relay (but with trailing slash) gets rejected as expected
9. Relay details page works. All items on that view loads correctly
10. Relay logs work
11. Getting follower counts and seeing follow lists on profiles still work
12. Relay list changes persist after app restart
13. Notifications view still work
14. Copying the user's pubkey and profile link works
15. Share note + copy link button still works
16. Connecting NWC wallet works
17. One-tap zaps work
18. Onboarding works
19. Unit tests all passing

Closes: https://github.com/damus-io/damus/issues/2072
Changelog-Fixed: Fix bug that would cause connection issues with relays defined with a trailing slash URL, and an inability to delete them.
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-03-25 09:24:17 +01:00
..
__Snapshots__/EventViewTests test: Add basic snapshot test coverage for EventView 2023-10-16 03:13:28 +02:00
Assets privacy: add function to strip location data from photos 2024-02-20 11:17:57 -08:00
Mocking home: add quote repost counter and handler 2024-03-17 08:54:35 +00:00
Models mute: adding new structs/enums for new mute list 2024-01-25 12:12:57 -08:00
Util nip42: add initial relay auth support 2024-01-05 10:36:03 -08:00
AuthIntegrationTests.swift test: fix crashing in AUTH test 2024-01-10 15:37:52 -08:00
Bech32ObjectTests.swift nip19: add high level bech32 encoding method 2024-01-16 16:55:31 -08:00
Bech32Tests.swift ndb: switch to nostrdb notes 2023-08-03 13:20:36 -07:00
ContentParserTests.swift content: add utf8 char at url left boundary test 2023-07-16 11:46:23 -07:00
DamusCacheManagerTests.swift storage: Improve clear cache functionality 2023-10-07 16:42:08 -07:00
DamusPurpleImpendingExpirationTests.swift Add Damus Purple impending expiry notification support 2024-02-28 23:20:48 -08:00
damusTests.swift Fix relay URL trailing slash issues 2024-03-25 09:24:17 +01:00
DMTests.swift Fix old notifications always appearing on first start 2023-08-06 09:22:28 -07:00
EventGroupViewTests.swift test: attempt to fix broken tests 2023-11-13 15:03:17 -08:00
EventViewTests.swift tests: disable snapshot tests for now 2023-11-14 07:13:51 -08:00
FormatTests.swift Fix localization issues, add tests, import translations, and add zh-CN and zh-TW 2023-02-24 12:44:54 -08:00
HashtagTests.swift Fix Issue #1820 Hashtags including U+5009 to U+500D are not correctly parsed 2023-12-22 13:59:31 -08:00
ImageMetadataTest.swift add performance upgrades to media picker 2024-02-29 12:12:22 +00:00
InvoiceTests.swift Create helper extensions for Block and update tests for the Block helper model 2023-09-03 18:02:32 -07:00
KeychainStorageTests.swift Replace Vault dependency with @KeychainStorage property wrapper 2023-05-04 15:57:02 -07:00
LikeTests.swift ndb: switch to nostrdb notes 2023-08-03 13:20:36 -07:00
ListTests.swift mute: migrate Lists.swift to use new MuteItem 2024-01-25 12:12:59 -08:00
LocalizationUtilTests.swift Fix localization issues and export strings for translation 2023-07-14 09:34:29 -07:00
LongPostTests.swift Merge improved mute functionality from Charlie 2024-02-26 12:02:41 -08:00
NIP19Tests.swift ndb: switch to nostrdb notes 2023-08-03 13:20:36 -07:00
NostrEventTests.swift Fix image links appearing with escaped slashes 2023-08-18 08:41:21 -07:00
NostrScriptTests.swift tests: Disable NostrScriptTests.test_bool_set to reduce noise on CI/CD 2023-12-22 13:56:57 -08:00
NoteContentViewTests.swift nip19: add bech32 TLV url parsing 2024-01-22 10:49:33 -08:00
PostViewTests.swift mentions: fix regression on char handling after mention 2024-01-25 14:11:31 -08:00
ProfileViewTests.swift test: switch test to use failable transactions 2024-01-10 15:38:21 -08:00
RelayPoolTests.swift handle extra slashes for relay url 2023-12-16 17:43:00 -08:00
RelayURLTests.swift Fix relay URL trailing slash issues 2024-03-25 09:24:17 +01:00
ReplyDescriptionTests.swift Add image uploader 2023-03-15 17:12:05 -06:00
ReplyTests.swift test: attempt to fix broken tests 2023-11-13 15:03:17 -08:00
RequestTests.swift nip42: add initial relay auth support 2024-01-05 10:36:03 -08:00
TimeAgoTests.swift Fix localization issues, add tests, import translations, and add zh-CN and zh-TW 2023-02-24 12:44:54 -08:00
TranslationTests.swift translate: implement string distance for close matches 2024-02-19 13:10:13 -08:00
TrieTests.swift Add trie-based user search cache to replace non-performant linear scans 2023-07-03 12:06:01 -07:00
UrlTests.swift purple: add staging option to DamusPurpleURL 2024-01-28 16:09:14 -08:00
UserSearchAppendTests.swift posting: fix issue with username and multiple emojis 2023-09-11 07:48:36 -07:00
UserSearchCacheTests.swift test: temporarily disable UserCacheManagerTests 2023-10-07 14:35:24 -07:00
WalletConnectTests.swift Fix relay URL trailing slash issues 2024-03-25 09:24:17 +01:00
ZapTests.swift Fix test target build error 2024-01-10 11:06:32 -08:00