alfresco-ng2-components/lib/core/mock/authentication.service.mock.ts
Cilibiu Bogdan d456b3cba1 [ADF-2904] Search - redirect breaks application (#3268)
* set navigation commands over plain string

* fix test

* lint
2018-05-08 14:46:35 +01:00

60 lines
2.2 KiB
TypeScript

/*!
* @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';
import { RedirectionModel } from '../models/redirection.model';
// TODO: should be extending AuthenticationService
export class AuthenticationMock /*extends AuthenticationService*/ {
private redirect: RedirectionModel = null;
setRedirectUrl(url: RedirectionModel) {
this.redirect = url;
}
getRedirectUrl(): any[] {
return this.redirect ? this.redirect.navigation : null;
}
// TODO: real auth service returns Observable<string>
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');
}
}