blob: e460c9e86b0b36823ad92bee95dc74ba69b52b64 [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:flutter_dashboard/logic/qualified_task.dart';
import 'package:flutter_dashboard/model/commit.pb.dart';
import 'package:flutter_dashboard/model/task.pb.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
test('logUrl() for external tasks redirects to source configuration', () {
final Task luciTask = Task()
..stageName = 'chromebot'
..name = 'abc'
..builderName = 'def';
expect(logUrl(luciTask), 'https://ci.chromium.org/p/flutter/builders/luci.flutter.prod/def');
final Task cirrusTask = Task()..stageName = 'cirrus';
expect(
logUrl(
cirrusTask,
commit: Commit()
..sha = 'abc123'
..branch = 'master',
),
'https://cirrus-ci.com/build/flutter/flutter/abc123?branch=master',
);
expect(logUrl(cirrusTask), 'https://cirrus-ci.com/github/flutter/flutter/master');
final Task googleTestTask = Task()..stageName = 'google_internal';
expect(logUrl(googleTestTask), 'https://flutter-rob.corp.google.com');
});
test('QualifiedTask.sourceConfigurationUrl for luci', () {
final Task luciTask = Task()
..stageName = 'chromebot'
..name = 'abc'
..builderName = 'def';
expect(
QualifiedTask.fromTask(luciTask).sourceConfigurationUrl,
'https://ci.chromium.org/p/flutter/builders/luci.flutter.prod/def',
);
});
test('QualifiedTask.sourceConfigurationUrl for cirrus', () {
final Task cirrusTask = Task()..stageName = 'cirrus';
expect(
QualifiedTask.fromTask(cirrusTask).sourceConfigurationUrl,
'https://cirrus-ci.com/github/flutter/flutter/master',
);
});
test('QualifiedTask.sourceConfigurationUrl for google test', () {
final Task googleTestTask = Task()..stageName = 'google_internal';
expect(QualifiedTask.fromTask(googleTestTask).sourceConfigurationUrl, 'https://flutter-rob.corp.google.com');
});
test('QualifiedTask.isLuci', () {
expect(const QualifiedTask(stage: 'luci', task: 'abc').isLuci, true);
expect(const QualifiedTask(stage: 'chromebot', task: 'abc').isLuci, true);
expect(const QualifiedTask(stage: 'cocoon', task: 'abc').isLuci, true);
expect(const QualifiedTask(stage: 'cirrus', task: 'abc').isLuci, false);
expect(const QualifiedTask(stage: 'google_internal', task: 'abc').isLuci, false);
});
}