@@ -18,6 +18,35 @@ import TSCBasic
18
18
import TSCUtility
19
19
20
20
final class PackageCollectionsTests : XCTestCase {
21
+ func testUpdateAuthTokens( ) throws {
22
+ let configuration = PackageCollections . Configuration ( )
23
+ let storage = makeMockStorage ( )
24
+ defer { XCTAssertNoThrow ( try storage. close ( ) ) }
25
+
26
+ let metadataProviderConfig = GitHubPackageMetadataProvider . Configuration ( cacheTTLInSeconds: - 1 )
27
+ let metadataProvider = GitHubPackageMetadataProvider ( configuration: metadataProviderConfig)
28
+ var packageCollections = PackageCollections ( configuration: configuration, storage: storage, collectionProviders: [ : ] , metadataProvider: metadataProvider)
29
+
30
+ XCTAssertNil ( packageCollections. configuration. authTokens)
31
+ do {
32
+ guard let githubMetadataProvider = packageCollections. metadataProvider as? GitHubPackageMetadataProvider else {
33
+ return XCTFail ( " Expected GitHubPackageMetadataProvider " )
34
+ }
35
+ XCTAssertNil ( githubMetadataProvider. configuration. authTokens)
36
+ }
37
+
38
+ let authTokens : [ AuthTokenType : String ] = [ . github( " github.test " ) : " topsekret " ]
39
+ packageCollections. updateAuthTokens ( authTokens)
40
+
41
+ XCTAssertEqual ( authTokens, packageCollections. configuration. authTokens)
42
+ do {
43
+ guard let githubMetadataProvider = packageCollections. metadataProvider as? GitHubPackageMetadataProvider else {
44
+ return XCTFail ( " Expected GitHubPackageMetadataProvider " )
45
+ }
46
+ XCTAssertEqual ( authTokens, githubMetadataProvider. configuration. authTokens)
47
+ }
48
+ }
49
+
21
50
func testBasicRegistration( ) throws {
22
51
try skipIfUnsupportedPlatform ( )
23
52
0 commit comments