99 "encoding/json"
1010 "fmt"
1111 "net/http"
12- "slices"
1312 "strings"
1413 "testing"
1514 "time"
@@ -2021,12 +2020,6 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
20212020 })
20222021
20232022 t .Run ("suite=recovery-address" , func (t * testing.T ) {
2024- sortAddresses := func (addresses []identity.RecoveryAddress ) {
2025- slices .SortFunc (addresses , func (a , b identity.RecoveryAddress ) int {
2026- return strings .Compare (a .Value , b .Value )
2027- })
2028- }
2029-
20302023 createIdentityWithAddresses := func (t * testing.T , email string ) * identity.Identity {
20312024 var i identity.Identity
20322025 require .NoError (t , faker .FakeData (& i ))
@@ -2045,7 +2038,7 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
20452038 _ , err := p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , "does-not-exist" )
20462039 require .ErrorIs (t , err , sqlcon .ErrNoRows ())
20472040
2048- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , "does-not-exist" )
2041+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , "does-not-exist" )
20492042 require .NoError (t , err )
20502043 require .Len (t , allAddresses , 0 )
20512044 })
@@ -2080,19 +2073,18 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
20802073 })
20812074 })
20822075
2083- t .Run ("method=FindAllRecoveryAddressesForIdentityByRecoveryAddressValue " , func (t * testing.T ) {
2076+ t .Run ("method=FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue " , func (t * testing.T ) {
20842077 t .Run (fmt .Sprintf ("case=%d" , k ), func (t * testing.T ) {
2085- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , expected .Value )
2078+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , expected .Value )
20862079 require .NoError (t , err )
20872080 require .Len (t , allAddresses , 2 )
2088- sortAddresses (allAddresses )
2089- require .Equal (t , expected .Value , allAddresses [0 ].Value )
2090- require .Equal (t , expected .Value + "_other" , allAddresses [1 ].Value )
2081+ require .Equal (t , expected .Value , allAddresses [0 ])
2082+ require .Equal (t , expected .Value + "_other" , allAddresses [1 ])
20912083 })
20922084
20932085 t .Run ("not if on another network" , func (t * testing.T ) {
20942086 _ , p := testhelpers .NewNetwork (t , ctx , p )
2095- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , expected .Value )
2087+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , expected .Value )
20962088 require .NoError (t , err )
20972089 require .Len (t , allAddresses , 0 )
20982090 })
@@ -2108,19 +2100,18 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
21082100 _ , err := p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , email )
21092101 require .NoError (t , err )
21102102
2111- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailLower )
2103+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailLower )
21122104 require .NoError (t , err )
21132105 require .Len (t , allAddresses , 2 )
2114- sortAddresses (allAddresses )
2115- require .Equal (t , allAddresses [0 ].Value , emailLower )
2116- require .Equal (t , allAddresses [1 ].Value , emailLower + "_other" )
2106+ require .Equal (t , allAddresses [0 ], emailLower )
2107+ require .Equal (t , allAddresses [1 ], emailLower + "_other" )
21172108
21182109 t .Run ("can not find if on another network" , func (t * testing.T ) {
21192110 _ , p := testhelpers .NewNetwork (t , ctx , p )
21202111 _ , err := p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , email )
21212112 require .ErrorIs (t , err , sqlcon .ErrNoRows ())
21222113
2123- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailLower )
2114+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailLower )
21242115 require .NoError (t , err )
21252116 require .Len (t , allAddresses , 0 )
21262117 })
@@ -2132,7 +2123,7 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
21322123 _ , err = p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , email )
21332124 require .EqualError (t , err , sqlcon .ErrNoRows ().Error ())
21342125
2135- allAddresses , err = p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailLower )
2126+ allAddresses , err = p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailLower )
21362127 require .NoError (t , err )
21372128 require .Len (t , allAddresses , 0 )
21382129
@@ -2141,7 +2132,7 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
21412132 _ , err := p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , email )
21422133 require .ErrorIs (t , err , sqlcon .ErrNoRows ())
21432134
2144- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailLower )
2135+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailLower )
21452136 require .NoError (t , err )
21462137 require .Len (t , allAddresses , 0 )
21472138 })
@@ -2152,21 +2143,18 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
21522143 assert .Equal (t , identity .AddressTypeEmail , actual .Via )
21532144 assert .Equal (t , emailNextLower , actual .Value )
21542145
2155- allAddresses , err = p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailNextLower )
2146+ allAddresses , err = p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailNextLower )
21562147 require .NoError (t , err )
21572148 require .Len (t , allAddresses , 2 )
2158- sortAddresses (allAddresses )
2159- assert .Equal (t , identity .AddressTypeEmail , allAddresses [0 ].Via )
2160- assert .Equal (t , emailNextLower , allAddresses [0 ].Value )
2161- assert .Equal (t , identity .AddressTypeEmail , allAddresses [1 ].Via )
2162- assert .Equal (t , emailNextLower + "_other" , allAddresses [1 ].Value )
2149+ assert .Equal (t , emailNextLower , allAddresses [0 ])
2150+ assert .Equal (t , emailNextLower + "_other" , allAddresses [1 ])
21632151
21642152 t .Run ("can not find if on another network" , func (t * testing.T ) {
21652153 _ , p := testhelpers .NewNetwork (t , ctx , p )
21662154 _ , err := p .FindRecoveryAddressByValue (ctx , identity .AddressTypeEmail , emailNext )
21672155 require .ErrorIs (t , err , sqlcon .ErrNoRows ())
21682156
2169- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , emailNextLower )
2157+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , emailNextLower )
21702158 require .NoError (t , err )
21712159 require .Len (t , allAddresses , 0 )
21722160 })
@@ -2367,30 +2355,25 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
23672355 createdIDs = append (createdIDs , i .ID )
23682356
23692357 // Test 1: Find all addresses using normalized phone1
2370- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , normalizedPhone1 )
2358+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , normalizedPhone1 )
23712359 require .NoError (t , err , "should find all recovery addresses with normalized phone" )
23722360 require .Len (t , allAddresses , 2 , "should return all recovery addresses for the identity" )
2373- sortAddresses (allAddresses )
2374- assert .Equal (t , normalizedPhone1 , allAddresses [0 ].Value )
2375- assert .Equal (t , normalizedPhone2 , allAddresses [1 ].Value )
2376- assert .Equal (t , identity .AddressTypeSMS , allAddresses [0 ].Via )
2377- assert .Equal (t , identity .AddressTypeSMS , allAddresses [1 ].Via )
2361+ assert .Equal (t , normalizedPhone1 , allAddresses [0 ])
2362+ assert .Equal (t , normalizedPhone2 , allAddresses [1 ])
23782363
23792364 // Test 2: Find all addresses using non-normalized phone1 (gets normalized, then matches)
2380- allAddresses2 , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , nonNormalizedPhone1 )
2365+ allAddresses2 , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , nonNormalizedPhone1 )
23812366 require .NoError (t , err , "should find all recovery addresses with non-normalized phone" )
23822367 require .Len (t , allAddresses2 , 2 , "should return all recovery addresses when querying with non-normalized phone" )
2383- sortAddresses (allAddresses2 )
2384- assert .Equal (t , normalizedPhone1 , allAddresses2 [0 ].Value )
2385- assert .Equal (t , normalizedPhone2 , allAddresses2 [1 ].Value )
2368+ assert .Equal (t , normalizedPhone1 , allAddresses2 [0 ])
2369+ assert .Equal (t , normalizedPhone2 , allAddresses2 [1 ])
23862370
23872371 // Test 3: Find all addresses using normalized phone2
2388- allAddresses3 , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , normalizedPhone2 )
2372+ allAddresses3 , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , normalizedPhone2 )
23892373 require .NoError (t , err )
23902374 require .Len (t , allAddresses3 , 2 , "should return all recovery addresses when querying with second phone" )
2391- sortAddresses (allAddresses3 )
2392- assert .Equal (t , normalizedPhone1 , allAddresses3 [0 ].Value )
2393- assert .Equal (t , normalizedPhone2 , allAddresses3 [1 ].Value )
2375+ assert .Equal (t , normalizedPhone1 , allAddresses3 [0 ])
2376+ assert .Equal (t , normalizedPhone2 , allAddresses3 [1 ])
23942377 })
23952378
23962379 t .Run ("create with multiple SMS addresses and find all with non-normalized phone" , func (t * testing.T ) {
@@ -2413,22 +2396,18 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
24132396 createdIDs = append (createdIDs , i .ID )
24142397
24152398 // Test 1: Find all addresses using non-normalized phone1 (gets normalized for search)
2416- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , nonNormPhone1 )
2399+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , nonNormPhone1 )
24172400 require .NoError (t , err , "should find all recovery addresses with non-normalized phone" )
24182401 require .Len (t , allAddresses , 2 , "should return all recovery addresses for the identity" )
2419- sortAddresses (allAddresses )
2420- assert .Equal (t , normPhone1 , allAddresses [0 ].Value , "stored values should be normalized" )
2421- assert .Equal (t , normPhone2 , allAddresses [1 ].Value )
2422- assert .Equal (t , identity .AddressTypeSMS , allAddresses [0 ].Via )
2423- assert .Equal (t , identity .AddressTypeSMS , allAddresses [1 ].Via )
2402+ assert .Equal (t , normPhone1 , allAddresses [0 ], "stored values should be normalized" )
2403+ assert .Equal (t , normPhone2 , allAddresses [1 ])
24242404
24252405 // Test 2: Find all addresses using normalized phone1 (direct match)
2426- allAddresses2 , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , normPhone1 )
2406+ allAddresses2 , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , normPhone1 )
24272407 require .NoError (t , err )
24282408 require .Len (t , allAddresses2 , 2 , "should return all recovery addresses when querying with normalized phone" )
2429- sortAddresses (allAddresses2 )
2430- assert .Equal (t , normPhone1 , allAddresses2 [0 ].Value )
2431- assert .Equal (t , normPhone2 , allAddresses2 [1 ].Value )
2409+ assert .Equal (t , normPhone1 , allAddresses2 [0 ])
2410+ assert .Equal (t , normPhone2 , allAddresses2 [1 ])
24322411 })
24332412
24342413 t .Run ("backward compatibility with legacy non-normalized phone data" , func (t * testing.T ) {
@@ -2470,14 +2449,11 @@ func TestPool(ctx context.Context, p persistence.Persister, m *identity.Manager,
24702449
24712450 // Test: Find all addresses with exact non-normalized phone (what user would enter)
24722451 // Should find all recovery addresses for the identity
2473- allAddresses , err := p .FindAllRecoveryAddressesForIdentityByRecoveryAddressValue (ctx , legacyPhone1 )
2452+ allAddresses , err := p .FindAllRecoveryAddressValuesForIdentityByRecoveryAddressValue (ctx , legacyPhone1 )
24742453 require .NoError (t , err , "should find all recovery addresses with non-normalized search" )
24752454 require .Len (t , allAddresses , 2 , "should return all recovery addresses for the identity" )
2476- sortAddresses (allAddresses )
2477- assert .Equal (t , legacyPhone1 , allAddresses [0 ].Value )
2478- assert .Equal (t , legacyPhone2 , allAddresses [1 ].Value )
2479- assert .Equal (t , identity .AddressTypeSMS , allAddresses [0 ].Via )
2480- assert .Equal (t , identity .AddressTypeSMS , allAddresses [1 ].Via )
2455+ assert .Equal (t , legacyPhone1 , allAddresses [0 ])
2456+ assert .Equal (t , legacyPhone2 , allAddresses [1 ])
24812457 })
24822458 })
24832459 })
0 commit comments