blob: b2fa7de12003686e2b60779a0370b0928f196e0a [file] [log] [blame]
// Copyright 2019 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:cocoon_service/src/service/build_status_provider.dart';
import 'package:cocoon_service/src/service/datastore.dart';
class FakeBuildStatusService implements BuildStatusService {
FakeBuildStatusService({
this.cumulativeStatus,
this.commitStatuses,
});
BuildStatus cumulativeStatus;
List<CommitStatus> commitStatuses;
@override
Future<BuildStatus> calculateCumulativeStatus({String branch}) async {
if (cumulativeStatus == null) {
throw AssertionError();
}
return cumulativeStatus;
}
@override
Stream<CommitStatus> retrieveCommitStatus(
{int limit = 100, int timestamp, String branch}) {
if (commitStatuses == null) {
throw AssertionError();
}
commitStatuses.sort((CommitStatus a, CommitStatus b) =>
a.commit.timestamp.compareTo(b.commit.timestamp));
return Stream<CommitStatus>.fromIterable(commitStatuses.where(
(CommitStatus commitStatus) =>
commitStatus.commit.timestamp < timestamp &&
commitStatus.commit.branch == branch));
}
@override
DatastoreService get datastoreService => throw UnimplementedError();
}