/*! * @license * Copyright 2016 Alfresco Software, Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/throw'; // TODO: should be extending AuthenticationService export class AuthenticationMock /*extends AuthenticationService*/ { private redirectUrl: string = ''; setRedirectUrl(url: string) { this.redirectUrl = url; } getRedirectUrl(): string { return this.redirectUrl; } // TODO: real auth service returns Observable login(username: string, password: string): Observable<{ type: string, ticket: any }> { if (username === 'fake-username' && password === 'fake-password') { return Observable.of({ type: 'type', ticket: 'ticket'}); } if (username === 'fake-username-CORS-error' && password === 'fake-password') { return Observable.throw({ error: { crossDomain: true, message: 'ERROR: the network is offline, Origin is not allowed by Access-Control-Allow-Origin' } }); } if (username === 'fake-username-CSRF-error' && password === 'fake-password') { return Observable.throw({message: 'ERROR: Invalid CSRF-token', status: 403}); } if (username === 'fake-username-ECM-access-error' && password === 'fake-password') { return Observable.throw({message: 'ERROR: 00170728 Access Denied. The system is currently in read-only mode', status: 403}); } return Observable.throw('Fake server error'); } }