Add branch to commit key (#684)
* add branch to commit key
* test fix
* add old Key check
* dartfmt
diff --git a/app_dart/lib/src/request_handlers/refresh_github_commits.dart b/app_dart/lib/src/request_handlers/refresh_github_commits.dart
index 8dd2a22..50b0062 100644
--- a/app_dart/lib/src/request_handlers/refresh_github_commits.dart
+++ b/app_dart/lib/src/request_handlers/refresh_github_commits.dart
@@ -150,11 +150,17 @@
DatastoreService datastore, String branch) async {
final List<Commit> newCommits = <Commit>[];
for (RepositoryCommit commit in commits) {
- final String id = 'flutter/flutter/${commit.sha}';
+ final String id = 'flutter/flutter/$branch/${commit.sha}';
final Key key = datastore.db.emptyKey.append(Commit, id: id);
+ // TODO(keyonghan): remove old Key check, https://github.com/flutter/flutter/issues/52503
+ final String oldId = 'flutter/flutter/${commit.sha}';
+ final Key oldKey = datastore.db.emptyKey.append(Commit, id: oldId);
+
if (await datastore.db.lookupValue<Commit>(key, orElse: () => null) ==
- null) {
+ null &&
+ await datastore.db.lookupValue<Commit>(oldKey, orElse: () => null) ==
+ null) {
newCommits.add(Commit(
key: key,
timestamp: commit.commit.committer.date.millisecondsSinceEpoch,
diff --git a/app_dart/test/request_handlers/refresh_github_commits_test.dart b/app_dart/test/request_handlers/refresh_github_commits_test.dart
index d12212a..a50127f 100644
--- a/app_dart/test/request_handlers/refresh_github_commits_test.dart
+++ b/app_dart/test/request_handlers/refresh_github_commits_test.dart
@@ -80,9 +80,9 @@
return commits;
}
- Commit shaToCommit(String sha) {
+ Commit shaToCommit(String sha, String branch) {
return Commit(
- key: db.emptyKey.append(Commit, id: 'flutter/flutter/$sha'),
+ key: db.emptyKey.append(Commit, id: 'flutter/flutter/$branch/$sha'),
sha: sha);
}
@@ -145,9 +145,8 @@
httpClient.request.response.body = singleTaskManifestYaml;
branchHttpClient.request.response.body = branchRegExp;
await tester.get<Body>(handler);
- //expect(body.branches, null);
- final Commit commit = db.values.values.whereType<Commit>().last;
- //expect(body, null);
+ final Commit commit = db.values.values.whereType<Commit>().first;
+ expect(db.values.values.whereType<Commit>().length, 2);
expect(commit.branch, 'flutter-1.1-candidate.1');
});
@@ -157,7 +156,7 @@
githubBranches = <String>['master'];
const List<String> dbCommits = <String>['3', '4', '5', '6'];
for (String sha in dbCommits) {
- final Commit commit = shaToCommit(sha);
+ final Commit commit = shaToCommit(sha, 'master');
db.values[commit.key] = commit;
}