blob: 002a51d4557159fa14ee7e8a46398a931dd07def [file] [log] [blame]
// Copyright 2020 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 'dart:typed_data';
import 'package:cocoon_service/cocoon_service.dart';
import 'package:github/github.dart';
import 'package:test/test.dart';
import '../src/datastore/fake_datastore.dart';
void main() {
group('repoNameForBuilder', () {
FakeDatastoreDB datastore;
Config config;
setUp(() {
datastore = FakeDatastoreDB();
config = Config(datastore, CacheService(inMemory: true));
});
test('Builder config does not exist', () async {
final RepositorySlug result =
await config.repoNameForBuilder('DoesNotExist');
expect(result, isNull);
});
test('Builder exists', () async {
final RepositorySlug result = await config.repoNameForBuilder('Cocoon');
expect(result, isNotNull);
expect(result.fullName, equals('flutter/cocoon'));
});
});
group('githubAppInstallations', () {
FakeDatastoreDB datastore;
CacheService cacheService;
Config config;
setUp(() {
datastore = FakeDatastoreDB();
cacheService = CacheService(inMemory: true);
config = Config(datastore, cacheService);
});
test('Builder config does not exist', () async {
const String configValue =
'{"godofredoc/cocoon":{"installation_id":"123"}}';
final Uint8List cachedValue = Uint8List.fromList(configValue.codeUnits);
await cacheService.set(
'config',
'githubapp_installations',
cachedValue,
);
final Map<String, dynamic> installation =
await config.githubAppInstallations;
expect(
installation['godofredoc/cocoon']['installation_id'], equals('123'));
});
});
}