forked from pool/python-softlayer
- Add fix-maint-issue.patch (fixes bsc#1203311).
- No, we actually don't need python-six at all. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-softlayer?expand=0&rev=31
This commit is contained in:
192
fix-maint-issue.patch
Normal file
192
fix-maint-issue.patch
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
From 392c38718c172a8f76c1f53fbe23ba2659cf320c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Christopher Gallo <chrisagallo@gmail.com>
|
||||||
|
Date: Fri, 23 Sep 2022 13:31:01 -0500
|
||||||
|
Subject: [PATCH 1/4] updated release workflow for the correct url
|
||||||
|
|
||||||
|
---
|
||||||
|
.github/workflows/release.yml | 2
|
||||||
|
SoftLayer/CLI/cdn/detail.py | 2
|
||||||
|
SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py | 6 +-
|
||||||
|
SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py | 6 +-
|
||||||
|
tests/CLI/modules/cdn_tests.py | 29 ++++------
|
||||||
|
tests/managers/cdn_tests.py | 19 +++++-
|
||||||
|
6 files changed, 37 insertions(+), 27 deletions(-)
|
||||||
|
|
||||||
|
--- a/.github/workflows/release.yml
|
||||||
|
+++ b/.github/workflows/release.yml
|
||||||
|
@@ -48,5 +48,5 @@ jobs:
|
||||||
|
with:
|
||||||
|
user: __token__
|
||||||
|
password: ${{ secrets.CGALLO_PYPI }}
|
||||||
|
- repository_url: https://pypi.org/legacy/
|
||||||
|
+ repository_url: https://upload.pypi.org/legacy/
|
||||||
|
|
||||||
|
--- a/SoftLayer/CLI/cdn/detail.py
|
||||||
|
+++ b/SoftLayer/CLI/cdn/detail.py
|
||||||
|
@@ -41,6 +41,6 @@ def cli(env, unique_id, history):
|
||||||
|
table.add_row(['status', cdn_mapping['status']])
|
||||||
|
table.add_row(['total_bandwidth', total_bandwidth])
|
||||||
|
table.add_row(['total_hits', total_hits])
|
||||||
|
- table.add_row(['hit_radio', hit_ratio])
|
||||||
|
+ table.add_row(['hit_ratio', hit_ratio])
|
||||||
|
|
||||||
|
env.fout(table)
|
||||||
|
--- a/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py
|
||||||
|
+++ b/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Configuration_Mapping.py
|
||||||
|
@@ -11,7 +11,7 @@ listDomainMappings = [
|
||||||
|
"path": "/",
|
||||||
|
"protocol": "HTTP",
|
||||||
|
"status": "CNAME_CONFIGURATION",
|
||||||
|
- "uniqueId": "9934111111111",
|
||||||
|
+ "uniqueId": "11223344",
|
||||||
|
"vendorName": "akamai"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
@@ -28,7 +28,7 @@ listDomainMappingByUniqueId = [
|
||||||
|
"path": "/",
|
||||||
|
"protocol": "HTTP",
|
||||||
|
"status": "CNAME_CONFIGURATION",
|
||||||
|
- "uniqueId": "9934111111111",
|
||||||
|
+ "uniqueId": "11223344",
|
||||||
|
"vendorName": "akamai"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
@@ -41,7 +41,7 @@ updateDomainMapping = [
|
||||||
|
"performanceConfiguration": "Large file optimization",
|
||||||
|
"protocol": "HTTP",
|
||||||
|
"respectHeaders": True,
|
||||||
|
- "uniqueId": "424406419091111",
|
||||||
|
+ "uniqueId": "11223344",
|
||||||
|
"vendorName": "akamai",
|
||||||
|
"header": "www.test.com",
|
||||||
|
"httpPort": 83,
|
||||||
|
--- a/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py
|
||||||
|
+++ b/SoftLayer/fixtures/SoftLayer_Network_CdnMarketplace_Metrics.py
|
||||||
|
@@ -6,9 +6,9 @@ getMappingUsageMetrics = [
|
||||||
|
"HitRatio"
|
||||||
|
],
|
||||||
|
"totals": [
|
||||||
|
- "0.0",
|
||||||
|
- "0",
|
||||||
|
- "0.0"
|
||||||
|
+ 1.0,
|
||||||
|
+ 3,
|
||||||
|
+ 2.0
|
||||||
|
],
|
||||||
|
"type": "TOTALS"
|
||||||
|
}
|
||||||
|
--- a/tests/CLI/modules/cdn_tests.py
|
||||||
|
+++ b/tests/CLI/modules/cdn_tests.py
|
||||||
|
@@ -4,7 +4,9 @@
|
||||||
|
|
||||||
|
:license: MIT, see LICENSE for more details.
|
||||||
|
"""
|
||||||
|
+import datetime
|
||||||
|
import json
|
||||||
|
+from unittest import mock as mock
|
||||||
|
|
||||||
|
from SoftLayer.CLI import exceptions
|
||||||
|
from SoftLayer import testing
|
||||||
|
@@ -21,27 +23,22 @@ class CdnTests(testing.TestCase):
|
||||||
|
'domain': 'test.example.com',
|
||||||
|
'origin': '1.1.1.1',
|
||||||
|
'status': 'CNAME_CONFIGURATION',
|
||||||
|
- 'unique_id': '9934111111111',
|
||||||
|
+ 'unique_id': '11223344',
|
||||||
|
'vendor': 'akamai'}]
|
||||||
|
)
|
||||||
|
|
||||||
|
- def test_detail_account(self):
|
||||||
|
+ @mock.patch('SoftLayer.utils.days_to_datetime')
|
||||||
|
+ def test_detail_account(self, mock_now):
|
||||||
|
+ mock_now.return_value = datetime.datetime(2020, 1, 1)
|
||||||
|
result = self.run_command(['cdn', 'detail', '--history=30', '1245'])
|
||||||
|
|
||||||
|
self.assert_no_fail(result)
|
||||||
|
- self.assertEqual(json.loads(result.output),
|
||||||
|
- {'hit_radio': '0.0 %',
|
||||||
|
- 'hostname': 'test.example.com',
|
||||||
|
- 'origin': '1.1.1.1',
|
||||||
|
- 'origin_type': 'HOST_SERVER',
|
||||||
|
- 'path': '/',
|
||||||
|
- 'protocol': 'HTTP',
|
||||||
|
- 'provider': 'akamai',
|
||||||
|
- 'status': 'CNAME_CONFIGURATION',
|
||||||
|
- 'total_bandwidth': '0.0 GB',
|
||||||
|
- 'total_hits': '0',
|
||||||
|
- 'unique_id': '9934111111111'}
|
||||||
|
- )
|
||||||
|
+ api_results = json.loads(result.output)
|
||||||
|
+ self.assertEqual(api_results['hit_ratio'], '2.0 %')
|
||||||
|
+ self.assertEqual(api_results['total_bandwidth'], '1.0 GB')
|
||||||
|
+ self.assertEqual(api_results['total_hits'], 3)
|
||||||
|
+ self.assertEqual(api_results['hostname'], 'test.example.com')
|
||||||
|
+ self.assertEqual(api_results['protocol'], 'HTTP')
|
||||||
|
|
||||||
|
def test_purge_content(self):
|
||||||
|
result = self.run_command(['cdn', 'purge', '1234',
|
||||||
|
@@ -122,7 +119,7 @@ class CdnTests(testing.TestCase):
|
||||||
|
self.assertEqual('include: test', header_result['Cache key optimization'])
|
||||||
|
|
||||||
|
def test_edit_cache_by_uniqueId(self):
|
||||||
|
- result = self.run_command(['cdn', 'edit', '9934111111111', '--cache', 'include-specified', '--cache', 'test'])
|
||||||
|
+ result = self.run_command(['cdn', 'edit', '11223344', '--cache', 'include-specified', '--cache', 'test'])
|
||||||
|
self.assert_no_fail(result)
|
||||||
|
header_result = json.loads(result.output)
|
||||||
|
self.assertEqual('include: test', header_result['Cache key optimization'])
|
||||||
|
--- a/tests/managers/cdn_tests.py
|
||||||
|
+++ b/tests/managers/cdn_tests.py
|
||||||
|
@@ -4,6 +4,8 @@
|
||||||
|
|
||||||
|
:license: MIT, see LICENSE for more details.
|
||||||
|
"""
|
||||||
|
+import datetime
|
||||||
|
+from unittest import mock as mock
|
||||||
|
|
||||||
|
from SoftLayer import fixtures
|
||||||
|
from SoftLayer.managers import cdn
|
||||||
|
@@ -28,7 +30,9 @@ class CDNTests(testing.TestCase):
|
||||||
|
'listDomainMappingByUniqueId',
|
||||||
|
args=args)
|
||||||
|
|
||||||
|
- def test_detail_usage_metric(self):
|
||||||
|
+ @mock.patch('SoftLayer.utils.days_to_datetime')
|
||||||
|
+ def test_detail_usage_metric(self, mock_now):
|
||||||
|
+ mock_now.return_value = datetime.datetime(2020, 1, 1)
|
||||||
|
self.cdn_client.get_usage_metrics(12345, history=30, frequency="aggregate")
|
||||||
|
|
||||||
|
args = (12345,
|
||||||
|
@@ -39,6 +43,15 @@ class CDNTests(testing.TestCase):
|
||||||
|
'getMappingUsageMetrics',
|
||||||
|
args=args)
|
||||||
|
|
||||||
|
+ # Does this still work in 2038 ? https://github.com/softlayer/softlayer-python/issues/1764 for context
|
||||||
|
+ @mock.patch('SoftLayer.utils.days_to_datetime')
|
||||||
|
+ def test_detail_usage_metric_future(self, mock_now):
|
||||||
|
+ mock_now.return_value = datetime.datetime(2040, 1, 1)
|
||||||
|
+ self.assertRaises(
|
||||||
|
+ OverflowError,
|
||||||
|
+ self.cdn_client.get_usage_metrics, 12345, history=30, frequency="aggregate"
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
def test_get_origins(self):
|
||||||
|
self.cdn_client.get_origins("12345")
|
||||||
|
self.assert_called_with('SoftLayer_Network_CdnMarketplace_Configuration_Mapping_Path',
|
||||||
|
@@ -105,7 +118,7 @@ class CDNTests(testing.TestCase):
|
||||||
|
args=args)
|
||||||
|
|
||||||
|
def test_cdn_edit(self):
|
||||||
|
- identifier = '9934111111111'
|
||||||
|
+ identifier = '11223344'
|
||||||
|
header = 'www.test.com'
|
||||||
|
result = self.cdn_client.edit(identifier, header=header)
|
||||||
|
|
||||||
|
@@ -116,7 +129,7 @@ class CDNTests(testing.TestCase):
|
||||||
|
'SoftLayer_Network_CdnMarketplace_Configuration_Mapping',
|
||||||
|
'updateDomainMapping',
|
||||||
|
args=({
|
||||||
|
- 'uniqueId': '9934111111111',
|
||||||
|
+ 'uniqueId': '11223344',
|
||||||
|
'originType': 'HOST_SERVER',
|
||||||
|
'protocol': 'HTTP',
|
||||||
|
'path': '/',
|
@@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 17 18:04:18 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add fix-maint-issue.patch (fixes bsc#1203311).
|
||||||
|
- No, we actually don't need python-six at all.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Oct 6 06:15:44 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
Thu Oct 6 06:15:44 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
||||||
%define skip_python2 1
|
%define skip_python2 1
|
||||||
Name: python-softlayer
|
Name: python-softlayer
|
||||||
Version: 6.1.2
|
Version: 6.1.2
|
||||||
@@ -25,6 +24,9 @@ Summary: A set of Python libraries that assist in calling the SoftLayer A
|
|||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/softlayer/softlayer-python
|
URL: https://github.com/softlayer/softlayer-python
|
||||||
Source: https://github.com/softlayer/softlayer-python/archive/v%{version}.tar.gz
|
Source: https://github.com/softlayer/softlayer-python/archive/v%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM fix-maint-issue.patch bsc#1203311 mcepl@suse.com
|
||||||
|
# xmlrpc y2038 problem
|
||||||
|
Patch0: fix-maint-issue.patch
|
||||||
BuildRequires: %{python_module click >= 8.0.4}
|
BuildRequires: %{python_module click >= 8.0.4}
|
||||||
BuildRequires: %{python_module prettytable >= 2.5.0}
|
BuildRequires: %{python_module prettytable >= 2.5.0}
|
||||||
BuildRequires: %{python_module prompt_toolkit >= 2}
|
BuildRequires: %{python_module prompt_toolkit >= 2}
|
||||||
@@ -33,7 +35,6 @@ BuildRequires: %{python_module pytest}
|
|||||||
BuildRequires: %{python_module requests >= 2.20.0}
|
BuildRequires: %{python_module requests >= 2.20.0}
|
||||||
BuildRequires: %{python_module rich >= 12.5.1}
|
BuildRequires: %{python_module rich >= 12.5.1}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: %{python_module six >= 1.7.0}
|
|
||||||
BuildRequires: %{python_module softlayer-zeep >= 5.0.0}
|
BuildRequires: %{python_module softlayer-zeep >= 5.0.0}
|
||||||
BuildRequires: %{python_module testtools}
|
BuildRequires: %{python_module testtools}
|
||||||
BuildRequires: %{python_module typing_extensions}
|
BuildRequires: %{python_module typing_extensions}
|
||||||
@@ -47,7 +48,6 @@ Requires: python-pygments >= 2.0.0
|
|||||||
Requires: python-requests >= 2.20.0
|
Requires: python-requests >= 2.20.0
|
||||||
Requires: python-rich >= 12.5.1
|
Requires: python-rich >= 12.5.1
|
||||||
Requires: python-setuptools
|
Requires: python-setuptools
|
||||||
Requires: python-six >= 1.7.0
|
|
||||||
Requires: python-softlayer-zeep >= 5.0.0
|
Requires: python-softlayer-zeep >= 5.0.0
|
||||||
Requires: python-typing_extensions
|
Requires: python-typing_extensions
|
||||||
Requires: python-urllib3 >= 1.24
|
Requires: python-urllib3 >= 1.24
|
||||||
@@ -60,7 +60,7 @@ Requires(postun):update-alternatives
|
|||||||
This library provides a simple Python client to interact with SoftLayer's XML-RPC API.
|
This library provides a simple Python client to interact with SoftLayer's XML-RPC API.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n softlayer-python-%{version}
|
%autosetup -p1 -n softlayer-python-%{version}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
|
Reference in New Issue
Block a user