/* * SPDX-FileCopyrightText: 2019-2021 Vishesh Handa * * SPDX-License-Identifier: AGPL-3.0-or-later */ import 'dart:convert'; import 'githost.dart'; import 'github.dart'; typedef JsonMap = Map; typedef JsonList = List; class GitHubFake implements GitHost { String data; GitHubFake(this.data); @override void init(OAuthCallback oAuthCallback) {} @override Future launchOAuthScreen() async {} @override Future getUserInfo() async { throw Exception("Not Implemented"); } @override Future addDeployKey(String sshPublicKey, String repoFullName) async { throw Exception("Not Implemented"); } @override Future createRepo(String name) async { throw Exception("Not Implemented"); } @override Future getRepo(String name) async { throw Exception("Not Implemented"); } @override Future> listRepos() async { List list = jsonDecode(data); var repos = []; for (var d in list) { var map = Map.from(d); var repo = GitHub.repoFromJson(map); repos.add(repo); } return repos; } }