#3746 Fix backward compatibility
Merged a year ago by tkopecek. Opened a year ago by jcupova.
jcupova/koji issue-3715-2  into  master

Fix backward compatibility
Jana Cupova • a year ago  
file modified
+9 -1
@@ -6137,6 +6137,11 @@ 

      if len(args) == 0:

          parser.error("You must specify at least one task id or build")

      activate_session(session, goptions)

+     older_hub = False

+     hub_version = session.getKojiVersion()

+     v = tuple([int(x) for x in hub_version.split('.')])

+     if v < (1, 33, 0):

+         older_hub = True

      tlist = []

      blist = []

      for arg in args:
@@ -6163,7 +6168,10 @@ 

              for task_id in tlist:

                  results.append(remote_fn(task_id, **opts))

          for build in blist:

-             results.append(m.cancelBuild(build, strict=True))

+             if not older_hub:

+                 results.append(m.cancelBuild(build, strict=True))

+             else:

+                 results.append(m.cancelBuild(build))

  

      err = False

      for r in results:

@@ -32,6 +32,7 @@ 

  

  %s: error: {message}

  """ % (self.progname, self.progname)

+         self.session.getKojiVersion.return_value = '1.33.0'

  

      def test_anon_cancel(self):

          args = ['123']
@@ -152,6 +153,23 @@ 

          self.session.cancelTaskFull.assert_not_called()

          self.session.cancelBuild.assert_called_once_with(args[1], strict=True)

  

+     def test_non_exist_build_and_task_older_hub(self):

+         self.session.getKojiVersion.return_value = '1.32.0'

+         args = ['11111', 'nvr-1-30.1']

+         expected_warn = """No such task: %s

+ """ % (args[0])

+         mcall = self.session.multicall.return_value.__enter__.return_value

+         mcall.cancelTask.return_value = self.__vm(

+             {'faultCode': 1000, 'faultString': 'No such task: %s' % args[0]})

+         mcall.cancelBuild.return_value = self.__vm(False)

+         rv = handle_cancel(self.options, self.session, args)

+         self.assertEqual(rv, 1)

+         self.assert_console_message(self.stderr, expected_warn)

+         self.activate_session_mock.assert_called_once_with(self.session, self.options)

+         self.session.cancelTask.assert_called_once_with(int(args[0]))

+         self.session.cancelTaskFull.assert_not_called()

+         self.session.cancelBuild.assert_called_once_with(args[1])

+ 

      def test_cancel_help(self):

          self.assert_help(

              handle_cancel,

It is not that easy, you need to compare ints.

v = session.getKojiVersion()
v = [int(x) for x in v.split('.')]
if v >= (1, 33, 0):
   ...

rebased onto 4ade7cd

a year ago

Metadata Update from @tkopecek:
- Pull-request tagged with: testing-ready

a year ago

Metadata Update from @jcupova:
- Pull-request untagged with: testing-ready

a year ago

Metadata Update from @jcupova:
- Pull-request tagged with: testing-ready

a year ago

Metadata Update from @mfilip:
- Pull-request tagged with: testing-done

a year ago

Commit ad8ab36 fixes this pull-request

Pull-Request has been merged by tkopecek

a year ago