git cl: remove code related to pending refs and gnumbd.

Refactor _GitNumbererState to two functions and remove no longer
useful tests.

BUG=644915
R=agable@chromium.org

Change-Id: If5e3e3b141aee192211f6af130b01f20f9afdbfe
Reviewed-on: https://chromium-review.googlesource.com/431976
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index af4229f..708368d 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -530,8 +530,6 @@
       ((['git', 'config', '--unset-all', 'rietveld.cpplint-ignore-regex'],),
         CERR1),
       ((['git', 'config', '--unset-all', 'rietveld.project'],), CERR1),
-      ((['git', 'config', '--unset-all', 'rietveld.pending-ref-prefix'],),
-        CERR1),
       ((['git', 'config', '--unset-all', 'rietveld.run-post-upload-hook'],),
         CERR1),
       ((['git', 'config', 'gerrit.host', 'true'],), ''),
@@ -853,8 +851,8 @@
     else:
       self.mock(git_cl.sys, 'stdout', StringIO.StringIO())
 
-    self.mock(git_cl._GitNumbererState, 'load', classmethod(lambda _, url, ref:
-        self._mocked_call(['_GitNumbererState', url, ref])))
+    self.mock(git_cl, '_is_git_numberer_enabled', lambda url, ref:
+        self._mocked_call('_is_git_numberer_enabled', url, ref))
     self.mock(RietveldMock, 'update_description', staticmethod(
               lambda i, d: self._mocked_call(['update_description', i, d])))
     self.mock(RietveldMock, 'add_comment', staticmethod(
@@ -919,10 +917,10 @@
     self.calls += [
       ((['git', 'config', 'remote.origin.url'],),
        'https://chromium.googlesource.com/infra/infra'),
-      ((['_GitNumbererState',
-         'https://chromium.googlesource.com/infra/infra',
-         'refs/heads/master'],),
-       git_cl._GitNumbererState(None, False)),
+      (('_is_git_numberer_enabled',
+        'https://chromium.googlesource.com/infra/infra',
+        'refs/heads/master'),
+       False),
       ((['git', 'push', '--porcelain', 'origin', 'HEAD:refs/heads/master'],),
        ''),
       ((['git', 'rev-parse', 'HEAD'],), 'fake_sha_rebased'),
@@ -939,46 +937,6 @@
     ]
     git_cl.main(['land'])
 
-  def test_land_rietveld_gnumbd(self):
-    self._land_rietveld_common(debug=False)
-    self.mock(git_cl, 'WaitForRealCommit',
-              lambda *a: self._mocked_call(['WaitForRealCommit'] + list(a)))
-    self.calls += [
-      ((['git', 'config', 'remote.origin.url'],),
-       'https://chromium.googlesource.com/chromium/src'),
-      ((['_GitNumbererState',
-         'https://chromium.googlesource.com/chromium/src',
-         'refs/heads/master'],),
-       git_cl._GitNumbererState('refs/pending', True)),
-      ((['git', 'rev-parse', 'HEAD'],), 'fake_sha_rebased'),
-      ((['git', 'retry', 'fetch', 'origin',
-         '+refs/pending/heads/master:refs/git-cl/pending/heads/master'],), ''),
-      ((['git', 'checkout', 'refs/git-cl/pending/heads/master'],), ''),
-      ((['git', 'cherry-pick', 'fake_sha_rebased'],), ''),
-
-      ((['git', 'retry', 'push', '--porcelain', 'origin',
-        'HEAD:refs/pending/heads/master'],),''),
-      ((['git', 'rev-parse', 'HEAD'],), 'fake_sha_rebased_on_pending'),
-
-      ((['git', 'checkout', '-q', 'feature'],), ''),
-      ((['git', 'branch', '-D', 'git-cl-commit'],), ''),
-
-      ((['WaitForRealCommit', 'origin', 'fake_sha_rebased_on_pending',
-         'refs/remotes/origin/master', 'refs/heads/master'],),
-         'fake_sha_gnumbded'),
-
-      ((['git', 'config', 'rietveld.viewvc-url'],),
-       'https://chromium.googlesource.com/infra/infra/+/'),
-      ((['update_description', 123,
-         'Issue: 123\n\nR=john@chromium.org\n\nCommitted: '
-         'https://chromium.googlesource.com/infra/infra/+/fake_sha_gnumbded'],),
-       ''),
-      ((['add_comment', 123, 'Committed patchset #2 (id:20001) manually as '
-                             'fake_sha_gnumbded (presubmit successful).'],),
-       ''),
-    ]
-    git_cl.main(['land'])
-
   def test_land_rietveld_git_numberer(self):
     self._land_rietveld_common(debug=False)
 
@@ -992,11 +950,10 @@
     self.calls += [
       ((['git', 'config', 'remote.origin.url'],),
        'https://chromium.googlesource.com/chromium/src'),
-      ((['_GitNumbererState',
-         'https://chromium.googlesource.com/chromium/src',
-         'refs/heads/master'],),
-       git_cl._GitNumbererState(None, True)),
-
+      (('_is_git_numberer_enabled',
+        'https://chromium.googlesource.com/chromium/src',
+        'refs/heads/master'),
+       True),
       ((['git', 'show', '-s', '--format=%B', 'fake_ancestor_sha'],),
        'This is parent commit.\n'
        '\n'
@@ -1041,9 +998,9 @@
     self.calls += [
       ((['git', 'config', 'remote.origin.url'],),
        'https://chromium.googlesource.com/v8/v8'),
-      ((['_GitNumbererState',
-         'https://chromium.googlesource.com/v8/v8', 'refs/heads/master'],),
-       git_cl._GitNumbererState(None, True)),
+      (('_is_git_numberer_enabled',
+        'https://chromium.googlesource.com/v8/v8', 'refs/heads/master'),
+       True),
 
       ((['git', 'show', '-s', '--format=%B', 'fake_ancestor_sha'],),
        'This is parent commit with no footer.'),
@@ -1056,52 +1013,25 @@
     self.assertEqual(cm.exception.message,
                      'Unable to infer commit position from footers')
 
-  def test_GitNumbererState_not_whitelisted_repo(self):
-    self.calls = [
-        ((['git', 'config', 'rietveld.autoupdate'],), CERR1),
-        ((['git', 'config', 'rietveld.pending-ref-prefix'],), CERR1),
-    ]
-    res = git_cl._GitNumbererState.load(
+  def test_git_numberer_not_whitelisted_repo(self):
+    self.calls = []
+    res = git_cl._is_git_numberer_enabled(
         remote_url='https://chromium.googlesource.com/chromium/tools/build',
         remote_ref='refs/whatever')
-    self.assertEqual(res.pending_prefix, None)
-    self.assertEqual(res.should_add_git_number, False)
+    self.assertEqual(res, False)
 
-  def test_GitNumbererState_fail_fetch(self):
+  def test_git_numberer_fail_fetch(self):
     self.mock(git_cl.sys, 'stdout', StringIO.StringIO())
     self.calls = [
         ((['git', 'fetch', 'https://chromium.googlesource.com/chromium/src',
-           '+refs/meta/config:refs/git_cl/meta/config',
-           '+refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main'],), CERR1),
-        ((['git', 'config', 'rietveld.autoupdate'],), CERR1),
-        ((['git', 'config', 'rietveld.pending-ref-prefix'],),
-         'refs/pending-prefix'),
+           '+refs/meta/config:refs/git_cl/meta/config'],), CERR1),
     ]
-    res = git_cl._GitNumbererState.load(
+    res = git_cl._is_git_numberer_enabled(
         remote_url='https://chromium.googlesource.com/chromium/src',
         remote_ref='refs/whatever')
-    self.assertEqual(res.pending_prefix, 'refs/pending-prefix/')
-    self.assertEqual(res.should_add_git_number, False)
+    self.assertEqual(res, False)
 
-  def test_GitNumbererState_fail_gnumbd_and_validator(self):
-    self.mock(git_cl.sys, 'stdout', StringIO.StringIO())
-    self.calls = [
-        ((['git', 'fetch', 'https://chromium.googlesource.com/chromium/src',
-           '+refs/meta/config:refs/git_cl/meta/config',
-           '+refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main'],), ''),
-        ((['git', 'show', 'refs/git_cl/gnumbd-config/main:config.json'],),
-         'ba d conig'),
-        ((['git', 'config', 'rietveld.autoupdate'],), CERR1),
-        ((['git', 'config', 'rietveld.pending-ref-prefix'],), CERR1),
-        ((['git', 'show', 'refs/git_cl/meta/config:project.config'],), CERR1),
-    ]
-    res = git_cl._GitNumbererState.load(
-        remote_url='https://chromium.googlesource.com/chromium/src',
-        remote_ref='refs/whatever')
-    self.assertEqual(res.pending_prefix, None)
-    self.assertEqual(res.should_add_git_number, False)
-
-  def test_GitNumbererState_valid_configs(self):
+  def test_git_numberer_valid_configs(self):
     with git_cl.gclient_utils.temporary_directory() as tempdir:
       @contextlib.contextmanager
       def fake_temporary_directory(**kwargs):
@@ -1113,17 +1043,7 @@
   def _test_GitNumbererState_valid_configs_inner(self, tempdir):
     self.calls = [
         ((['git', 'fetch', 'https://chromium.googlesource.com/chromium/src',
-           '+refs/meta/config:refs/git_cl/meta/config',
-           '+refs/gnumbd-config/main:refs/git_cl/gnumbd-config/main'],), ''),
-        ((['git', 'show', 'refs/git_cl/gnumbd-config/main:config.json'],),
-         '''{
-              "pending_tag_prefix": "refs/pending-tags",
-              "pending_ref_prefix": "refs/pending",
-              "enabled_refglobs": [
-                "refs/heads/m*"
-              ]
-            }
-         '''),
+           '+refs/meta/config:refs/git_cl/meta/config'],), ''),
         ((['git', 'show', 'refs/git_cl/meta/config:project.config'],),
          '''
           [plugin "git-numberer"]
@@ -1140,33 +1060,24 @@
            '--get-all', 'plugin.git-numberer.validate-disabled-refglob'],),
          'refs/heads/disabled\n'
          'refs/branch-heads/*\n'),
-    ] * 4  # 4 tests below have exactly same IO.
+    ] * 3  # 3 tests below have exactly the same IO.
 
-    res = git_cl._GitNumbererState.load(
-        remote_url='https://chromium.googlesource.com/chromium/src',
-        remote_ref='refs/heads/master')
-    self.assertEqual(res.pending_prefix, 'refs/pending/')
-    self.assertEqual(res.should_add_git_number, False)
-
-    res = git_cl._GitNumbererState.load(
+    res = git_cl._is_git_numberer_enabled(
         remote_url='https://chromium.googlesource.com/chromium/src',
         remote_ref='refs/heads/test')
-    self.assertEqual(res.pending_prefix, None)
-    self.assertEqual(res.should_add_git_number, True)
+    self.assertEqual(res, True)
 
-    res = git_cl._GitNumbererState.load(
+    res = git_cl._is_git_numberer_enabled(
         remote_url='https://chromium.googlesource.com/chromium/src',
         remote_ref='refs/heads/disabled')
-    self.assertEqual(res.pending_prefix, None)
-    self.assertEqual(res.should_add_git_number, False)
+    self.assertEqual(res, False)
 
     # Validator is disabled by default, even if it's not explicitely in disabled
     # refglobs.
-    res = git_cl._GitNumbererState.load(
+    res = git_cl._is_git_numberer_enabled(
         remote_url='https://chromium.googlesource.com/chromium/src',
         remote_ref='refs/arbitrary/ref')
-    self.assertEqual(res.pending_prefix, None)
-    self.assertEqual(res.should_add_git_number, False)
+    self.assertEqual(res, False)
 
   @classmethod
   def _gerrit_ensure_auth_calls(cls, issue=None, skip_auth_check=False):
@@ -1631,33 +1542,33 @@
 
   def test_get_target_ref(self):
     # Check remote or remote branch not present.
-    self.assertEqual(None, git_cl.GetTargetRef('origin', None, 'master', False))
+    self.assertEqual(None, git_cl.GetTargetRef('origin', None, 'master'))
     self.assertEqual(None, git_cl.GetTargetRef(None,
                                                'refs/remotes/origin/master',
-                                               'master', False))
+                                               'master'))
 
     # Check default target refs for branches.
     self.assertEqual('refs/heads/master',
                      git_cl.GetTargetRef('origin', 'refs/remotes/origin/master',
-                                         None, False))
+                                         None))
     self.assertEqual('refs/heads/master',
                      git_cl.GetTargetRef('origin', 'refs/remotes/origin/lkgr',
-                                         None, False))
+                                         None))
     self.assertEqual('refs/heads/master',
                      git_cl.GetTargetRef('origin', 'refs/remotes/origin/lkcr',
-                                         None, False))
+                                         None))
     self.assertEqual('refs/branch-heads/123',
                      git_cl.GetTargetRef('origin',
                                          'refs/remotes/branch-heads/123',
-                                         None, False))
+                                         None))
     self.assertEqual('refs/diff/test',
                      git_cl.GetTargetRef('origin',
                                          'refs/remotes/origin/refs/diff/test',
-                                         None, False))
+                                         None))
     self.assertEqual('refs/heads/chrome/m42',
                      git_cl.GetTargetRef('origin',
                                          'refs/remotes/origin/chrome/m42',
-                                         None, False))
+                                         None))
 
     # Check target refs for user-specified target branch.
     for branch in ('branch-heads/123', 'remotes/branch-heads/123',
@@ -1665,26 +1576,18 @@
       self.assertEqual('refs/branch-heads/123',
                        git_cl.GetTargetRef('origin',
                                            'refs/remotes/origin/master',
-                                           branch, False))
+                                           branch))
     for branch in ('origin/master', 'remotes/origin/master',
                    'refs/remotes/origin/master'):
       self.assertEqual('refs/heads/master',
                        git_cl.GetTargetRef('origin',
                                            'refs/remotes/branch-heads/123',
-                                           branch, False))
+                                           branch))
     for branch in ('master', 'heads/master', 'refs/heads/master'):
       self.assertEqual('refs/heads/master',
                        git_cl.GetTargetRef('origin',
                                            'refs/remotes/branch-heads/123',
-                                           branch, False))
-
-    # Check target refs for pending prefix.
-    self.mock(git_cl._GitNumbererState, 'load',
-              classmethod(lambda *_: git_cl._GitNumbererState('prefix', False)))
-    self.assertEqual('prefix/heads/master',
-                     git_cl.GetTargetRef('origin', 'refs/remotes/origin/master',
-                                         None, True,
-                                         'https://remote.url/some.git'))
+                                           branch))
 
   def test_patch_when_dirty(self):
     # Patch when local tree is dirty