git cl: rework setting to auto-generate git number footers.

BUG=642493

Change-Id: I1c83c54f7ad938cf4abeadb42f8d9414521d6dc5
Reviewed-on: https://chromium-review.googlesource.com/414465
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index bf0f002..81969a5 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -370,8 +370,6 @@
       ((['git', 'config', '--unset-all', 'rietveld.project'],), CERR1),
       ((['git', 'config', '--unset-all', 'rietveld.pending-ref-prefix'],),
         CERR1),
-      ((['git', 'config', '--unset-all', 'rietveld.git-number-footer'],),
-        CERR1),
       ((['git', 'config', '--unset-all', 'rietveld.run-post-upload-hook'],),
         CERR1),
       ((['git', 'config', 'gerrit.host', 'true'],), ''),
@@ -930,6 +928,30 @@
     ]
     git_cl.main(['land'])
 
+  def test_ShouldGenerateGitNumberFooters(self):
+    self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: StringIO.StringIO(
+      'generate-git-number-footers: true\n'
+    ))
+    self.assertTrue(git_cl.ShouldGenerateGitNumberFooters())
+
+    self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: StringIO.StringIO(
+      'generate-git-number-footers: false\n'
+    ))
+    self.assertFalse(git_cl.ShouldGenerateGitNumberFooters())
+
+    self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: StringIO.StringIO(
+      'generate-git-number-footers: anything but true is false\n'
+    ))
+    self.assertFalse(git_cl.ShouldGenerateGitNumberFooters())
+
+    self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: StringIO.StringIO(
+      "whatever: ignored"
+    ))
+    self.assertFalse(git_cl.ShouldGenerateGitNumberFooters())
+
+    self.mock(git_cl, 'FindCodereviewSettingsFile', lambda: None)
+    self.assertFalse(git_cl.ShouldGenerateGitNumberFooters())
+
   @classmethod
   def _gerrit_ensure_auth_calls(cls, issue=None, skip_auth_check=False):
     cmd = ['git', 'config', '--bool', 'gerrit.skip-ensure-authenticated']