mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-02 00:17:02 +00:00
bail if secret is missing and we're trying to authenticate
This commit is contained in:
parent
43db55de17
commit
7c2e2b88a0
@ -201,6 +201,15 @@ static NSString* const kBITAuthenticatorLastAuthenticatedVersionKey = @"BITAuthe
|
|||||||
BITHockeyLog(@"Already authenticating. Ignoring request");
|
BITHockeyLog(@"Already authenticating. Ignoring request");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(_authenticationType == BITAuthenticatorAuthTypeEmail && (nil == _authenticationSecret || !_authenticationSecret.length)) {
|
||||||
|
if(completion) {
|
||||||
|
NSError *error = [NSError errorWithDomain:kBITAuthenticatorErrorDomain
|
||||||
|
code:BITAuthenticatorAuthorizationSecretMissing
|
||||||
|
userInfo:@{NSLocalizedDescriptionKey: @"Authentication secret is not set but required."}];
|
||||||
|
completion(nil, error);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
BITAuthenticationViewController *viewController = [[BITAuthenticationViewController alloc] initWithDelegate:self];
|
BITAuthenticationViewController *viewController = [[BITAuthenticationViewController alloc] initWithDelegate:self];
|
||||||
switch (self.authenticationType) {
|
switch (self.authenticationType) {
|
||||||
|
@ -94,6 +94,7 @@ typedef NS_ENUM(NSInteger, BITAuthenticatorReason) {
|
|||||||
BITAuthenticatorAPIServerReturnedInvalidRespone,
|
BITAuthenticatorAPIServerReturnedInvalidRespone,
|
||||||
BITAuthenticatorNotAuthorized,
|
BITAuthenticatorNotAuthorized,
|
||||||
BITAuthenticatorAuthenticationCancelled,
|
BITAuthenticatorAuthenticationCancelled,
|
||||||
|
BITAuthenticatorAuthorizationSecretMissing,
|
||||||
};
|
};
|
||||||
extern NSString *const __attribute__((unused)) kBITAuthenticatorErrorDomain;
|
extern NSString *const __attribute__((unused)) kBITAuthenticatorErrorDomain;
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ static void *kInstallationIdentification = &kInstallationIdentification;
|
|||||||
[super setUp];
|
[super setUp];
|
||||||
|
|
||||||
_sut = [[BITAuthenticator alloc] initWithAppIdentifier:nil isAppStoreEnvironemt:NO];
|
_sut = [[BITAuthenticator alloc] initWithAppIdentifier:nil isAppStoreEnvironemt:NO];
|
||||||
|
_sut.authenticationType = BITAuthenticatorAuthTypeEmailAndPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)tearDown {
|
- (void)tearDown {
|
||||||
@ -129,6 +130,7 @@ static void *kInstallationIdentification = &kInstallationIdentification;
|
|||||||
- (void) testThatAuthenticateWithTypeEmailShowsAViewController {
|
- (void) testThatAuthenticateWithTypeEmailShowsAViewController {
|
||||||
id delegateMock = mockProtocol(@protocol(BITAuthenticatorDelegate));
|
id delegateMock = mockProtocol(@protocol(BITAuthenticatorDelegate));
|
||||||
_sut.delegate = delegateMock;
|
_sut.delegate = delegateMock;
|
||||||
|
_sut.authenticationSecret = @"myscret";
|
||||||
_sut.authenticationType = BITAuthenticatorAuthTypeEmail;
|
_sut.authenticationType = BITAuthenticatorAuthTypeEmail;
|
||||||
|
|
||||||
[_sut authenticateWithCompletion:nil];
|
[_sut authenticateWithCompletion:nil];
|
||||||
@ -136,6 +138,18 @@ static void *kInstallationIdentification = &kInstallationIdentification;
|
|||||||
[verifyCount(delegateMock, times(1)) authenticator:_sut willShowAuthenticationController:(id)anything()];
|
[verifyCount(delegateMock, times(1)) authenticator:_sut willShowAuthenticationController:(id)anything()];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) testThatAuthenticateWithTypeEmailShowsAViewControllerOnlyIfAuthenticationSecretIsSet {
|
||||||
|
id delegateMock = mockProtocol(@protocol(BITAuthenticatorDelegate));
|
||||||
|
_sut.delegate = delegateMock;
|
||||||
|
_sut.authenticationSecret = nil;
|
||||||
|
_sut.authenticationType = BITAuthenticatorAuthTypeEmail;
|
||||||
|
|
||||||
|
[_sut authenticateWithCompletion:nil];
|
||||||
|
|
||||||
|
[verifyCount(delegateMock, times(0)) authenticator:_sut willShowAuthenticationController:(id)anything()];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
- (void) testThatAuthenticateWithTypeEmailAndPasswordShowsAViewController {
|
- (void) testThatAuthenticateWithTypeEmailAndPasswordShowsAViewController {
|
||||||
id delegateMock = mockProtocol(@protocol(BITAuthenticatorDelegate));
|
id delegateMock = mockProtocol(@protocol(BITAuthenticatorDelegate));
|
||||||
_sut.delegate = delegateMock;
|
_sut.delegate = delegateMock;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user