| // Copyright 2020 The Fuchsia 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:sl4f/sl4f.dart' as sl4f; |
| import 'package:test/test.dart'; |
| |
| const _timeout = Timeout(Duration(minutes: 1)); |
| |
| void main() { |
| sl4f.Sl4f sl4fDriver; |
| sl4f.RepositoryManager repo; |
| |
| setUp(() async { |
| sl4fDriver = sl4f.Sl4f.fromEnvironment(); |
| await sl4fDriver.startServer(); |
| |
| repo = sl4f.RepositoryManager(sl4fDriver); |
| }); |
| |
| tearDown(() async { |
| await sl4fDriver.stopServer(); |
| sl4fDriver.close(); |
| }); |
| |
| group(sl4f.RepositoryManager, () { |
| test('repository manager facade', () async { |
| // If anything throws an exception then we've failed. |
| final repositories = await repo.list(); |
| expect(repositories, isNotNull); |
| expect(repositories, isNotEmpty); |
| expect(repositories.length, isNonZero); |
| expect(repositories[0]['mirrors'], isNotEmpty); |
| expect(repositories[0]['repo_url'], isNotEmpty); |
| expect(repositories[0]['root_keys'], isNotEmpty); |
| |
| for (final repository in repositories) { |
| final repoConfig = sl4f.RepositoryConfig.fromJson(repository); |
| await repo.add(repoConfig); |
| } |
| }); |
| }, timeout: _timeout); |
| } |