Skip to content

Commit 8894638

Browse files
KumarGanesanIBMGitHub Enterprise
authored andcommitted
Travis build integration (#2)
* travis releated changes * travis test (#1) * travis test * travis script update * test1 * PR changes for travis * job commit * travis PR changes * test (#2) * test * test * travis changes * travis script changes * test1 * flick switch to off * travis copy file * script update * indent on script * copy of platform services * import changes * changed env file and custom page services * ssl failure changes and changed rerun 2 * ApiException import * pdns changes and ssl error in time import * pagination support
1 parent 1b999e7 commit 8894638

15 files changed

+78
-1374
lines changed

.env.enc

8.34 KB
Binary file not shown.

.travis.yml

Lines changed: 8 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -4,67 +4,22 @@ dist: xenial
44

55
cache: pip
66

7-
notifications:
8-
email: true
9-
10-
# After creating your SDK project from this template repository,
11-
# uncomment this section to enable builds on the appropriate python versions.
12-
# matrix:
13-
# include:
14-
# - python: 3.5
15-
# - python: 3.6
16-
# - python: 3.7
17-
# - python: 3.8
7+
matrix:
8+
include:
9+
- python: 3.7
10+
before_script:
11+
- >-
12+
[ -z "${TRAVIS_TAG}" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]
13+
&& openssl aes-256-cbc -K $encrypted_3c84dcdc6bbe_key -iv $encrypted_3c84dcdc6bbe_iv -in .env.enc -out .env -d
14+
|| true
1815
1916
before_install:
2017
- npm install npm@latest -g
2118
- sudo apt-get update
2219
- sudo apt-get install pandoc
2320
- pip install pypandoc
24-
# - '[ "${TRAVIS_PULL_REQUEST}" == "false" ] && openssl aes-256-cbc -K $my_key -iv $my_iv -in myservice.env.enc -out myservice.env -d || true'
2521

2622
install:
2723
- pip install tox-travis
2824

2925
script: tox
30-
31-
# After creating your SDK project from this template repository,
32-
# remove this entire "jobs" section as this is only applicable
33-
# to the template repo's travis build.
34-
jobs:
35-
include:
36-
- stage: Run tox tests
37-
python: "3.5"
38-
- python: "3.6"
39-
- python: "3.7"
40-
- python: "3.8"
41-
- stage: Run system test with template
42-
script:
43-
- git clone [email protected]:CloudEngineering/sdkgen-systest.git
44-
- cd sdkgen-systest
45-
- ./install_scripts/install_deps_ubuntu.sh
46-
- ./setup_and_generate.sh -l ibm-python -t $TRAVIS_BRANCH
47-
# To enable semantic-release, uncomment these sections.
48-
# before_deploy:
49-
# - pip install bump2version
50-
# - nvm install 12
51-
# - npm install @semantic-release/changelog
52-
# - npm install @semantic-release/exec
53-
# - npm install @semantic-release/git
54-
# - npm install @semantic-release/github
55-
#
56-
# deploy:
57-
# - provider: script
58-
# script: npx semantic-release
59-
# skip_cleanup: true
60-
# on:
61-
# python: '3.5'
62-
# branch: master
63-
# - provider: pypi
64-
# user: __token__
65-
# password: $PYPI_TOKEN
66-
# repository: https://upload.pypi.org/legacy
67-
# skip_cleanup: true
68-
# on:
69-
# python: '3.5'
70-
# tags: true

ibm_cloud_networking_services/dns_zones_v1.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,17 @@ def __init__(self,
7575
#########################
7676

7777

78-
def list_dnszones(self, instance_id: str, *, x_correlation_id: str = None, offset: str = None, limit: str = None, vpc_id: str = None, **kwargs) -> DetailedResponse:
78+
def list_dnszones(self, instance_id: str, *, x_correlation_id: str = None, offset: int = None, limit: int = None, vpc_id: str = None, **kwargs) -> DetailedResponse:
7979
"""
8080
List DNS zones.
8181
8282
List the DNS zones for a given service instance.
8383
8484
:param str instance_id: The unique identifier of a service instance.
8585
:param str x_correlation_id: (optional) Uniquely identifying a request.
86-
:param str offset: (optional) Specify how many DNS zones to skip over, the
86+
:param int offset: (optional) Specify how many DNS zones to skip over, the
8787
default value is 0.
88-
:param str limit: (optional) Specify how many DNS zones are returned, the
88+
:param int limit: (optional) Specify how many DNS zones are returned, the
8989
default value is 10.
9090
:param str vpc_id: (optional) Specify the VPC instance id.
9191
:param dict headers: A `dict` containing the request headers

ibm_cloud_networking_services/permitted_networks_for_dns_zones_v1.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def list_permitted_networks(self, instance_id: str, dnszone_id: str, *, x_correl
121121
return response
122122

123123

124-
def create_permitted_networks(self, instance_id: str, dnszone_id: str, *, type: str = None, permitted_network: 'PermittedNetworkVpc' = None, x_correlation_id: str = None, **kwargs) -> DetailedResponse:
124+
def create_permitted_network(self, instance_id: str, dnszone_id: str, *, type: str = None, permitted_network: 'PermittedNetworkVpc' = None, x_correlation_id: str = None, **kwargs) -> DetailedResponse:
125125
"""
126126
Create a permitted network.
127127
@@ -147,7 +147,7 @@ def create_permitted_networks(self, instance_id: str, dnszone_id: str, *, type:
147147
headers = {
148148
'X-Correlation-ID': x_correlation_id
149149
}
150-
sdk_headers = get_sdk_headers(service_name=self.DEFAULT_SERVICE_NAME, service_version='V1', operation_id='create_permitted_networks')
150+
sdk_headers = get_sdk_headers(service_name=self.DEFAULT_SERVICE_NAME, service_version='V1', operation_id='create_permitted_network')
151151
headers.update(sdk_headers)
152152

153153
data = {

test/integration/test_dns_zones_v1.py

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import os
99
import unittest
10-
from ibm_cloud_pdns_services.dns_zones_v1 import DnsZonesV1
10+
from ibm_cloud_networking_services import DnsZonesV1
1111

1212

1313
class TestZonesV1(unittest.TestCase):
@@ -18,6 +18,8 @@ def setUp(self):
1818
self.instance_id = os.getenv("INSTANCE_ID")
1919
# create zone class object
2020
self.zone = DnsZonesV1.new_instance(service_name="pdns_services")
21+
# Delete the resources
22+
self._clean_dns_zones()
2123

2224
def tearDown(self):
2325
""" tear down """
@@ -30,10 +32,12 @@ def _clean_dns_zones(self):
3032
response = self.zone.list_dnszones(instance_id=self.instance_id)
3133
assert response is not None
3234
assert response.status_code == 200
33-
result = response.get_result().get("dnszones")
34-
for zone in result:
35-
print(zone.get("id"))
36-
self.zone.delete_dnszone(instance_id=self.instance_id, dnszone_id=zone.get("id"))
35+
result = response.get_result()
36+
if result is not None:
37+
zones = result.get("dnszones")
38+
for zone in zones:
39+
print(zone.get("id"))
40+
self.zone.delete_dnszone(instance_id=self.instance_id, dnszone_id=zone.get("id"))
3741

3842
def test_1_pdns_zone_action(self):
3943
""" test private dns zone create/delete/update/get functionality """
@@ -93,7 +97,20 @@ def test_1_pdns_zone_list(self):
9397
assert resp is not None
9498
assert resp.status_code == 200
9599

96-
resp = self.zone.list_dnszones(instance_id=self.instance_id)
100+
name = "test.example36.com"
101+
# create dns zone
102+
resp = self.zone.create_dnszone(instance_id=self.instance_id, name=name, label=label)
103+
assert resp is not None
104+
assert resp.status_code == 200
105+
106+
name = "test.example37.com"
107+
# create dns zone
108+
resp = self.zone.create_dnszone(instance_id=self.instance_id, name=name, label=label)
109+
assert resp is not None
110+
assert resp.status_code == 200
111+
112+
113+
resp = self.zone.list_dnszones(instance_id=self.instance_id, offset=1, limit=2)
97114
assert resp is not None
98115
assert resp.status_code == 200
99116

test/integration/test_permitted_networks_for_dns_zones_v1.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import os
99
import unittest
10-
from ibm_cloud_pdns_services.dns_zones_v1 import DnsZonesV1
11-
from ibm_cloud_pdns_services.permitted_networks_for_dns_zones_v1 import PermittedNetworksForDnsZonesV1
10+
from ibm_cloud_networking_services import DnsZonesV1
11+
from ibm_cloud_networking_services import PermittedNetworksForDnsZonesV1
1212

1313

1414
class TestPermittedNetworksForDnsZonesV1(unittest.TestCase):
@@ -56,7 +56,7 @@ def test_1_permitted_network_actions(self):
5656
'vpc_crn': self.vpc_crn
5757
}
5858
# permit = [pnw]
59-
resp = self.nw.create_permitted_networks(
59+
resp = self.nw.create_permitted_network(
6060
instance_id=self.instance_id, dnszone_id=self.zone_id, type='vpc', permitted_network=pnw)
6161
assert resp is not None
6262
assert resp.status_code == 200

test/integration/test_resources_records_v1.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
import os
99
import unittest
10-
from ibm_cloud_pdns_services.dns_zones_v1 import DnsZonesV1
11-
from ibm_cloud_pdns_services.resource_records_v1 import ResourceRecordsV1
10+
from ibm_cloud_networking_services import DnsZonesV1
11+
from ibm_cloud_networking_services import ResourceRecordsV1
1212

1313

1414
class TestResourceRecordsV1(unittest.TestCase):

test/integration/test_ssl_certificate_api_v1.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
import os
99
import unittest
10+
import time
1011
from ibm_cloud_networking_services import SslCertificateApiV1
12+
from ibm_cloud_sdk_core import ApiException
1113

1214

1315
class TestSSLCertV1(unittest.TestCase):
@@ -18,13 +20,15 @@ def setUp(self):
1820
self.crn = os.getenv("CRN")
1921
self.zone_id = os.getenv("ZONE_ID")
2022
self.endpoint = os.getenv("API_ENDPOINT")
23+
self.url = os.getenv("URL")
2124
self.ssl = SslCertificateApiV1.new_instance(
2225
crn=self.crn, zone_identifier=self.zone_id, service_name="cis_services")
2326
self.ssl.set_service_url(self.endpoint)
2427
self.certificate = os.getenv("CERTIFICATE")
2528
self.private_key = os.getenv("PRIVATE_KEY")
2629
self.update_certificate = os.getenv("UPDATE_CERTIFICATE")
2730
self.update_private_key = os.getenv("UPDATE_PRIVATE_KEY")
31+
self._clean_ssl_certificates()
2832

2933
def tearDown(self):
3034
""" tear down """
@@ -37,7 +41,13 @@ def _clean_ssl_certificates(self):
3741
certs = resp.get_result().get("result")
3842
for cert in certs:
3943
print("ssl certificate id", cert.get("id"))
40-
self.ssl.delete_certificate(cert.get("id"))
44+
try:
45+
self.ssl.delete_certificate(cert.get("id"))
46+
except ApiException:
47+
print ('Error: Bad response certificate service, Code: 400')
48+
# deleting ssl certificate will be pending state for a while.
49+
# So, wait for 60 sec and re-run the test.
50+
time.sleep(60)
4151

4252
def test_1_list_certificates(self):
4353
""" test method list all ssl certificate packs """
@@ -49,7 +59,7 @@ def test_1_certificate_actions(self):
4959
""" test method for order/view/delete ssl certificate packs """
5060
# order certificate
5161
resp = self.ssl.order_certificate(
52-
x_correlation_id="1234", type="dedicated", hosts=["sdk.cistest-load.com"])
62+
x_correlation_id="1234", type="dedicated", hosts=[self.url])
5363
assert resp is not None
5464
assert resp.status_code == 200
5565
cert_id = resp.get_result().get("result")["id"]

test/unit/test_dns_zones_v1.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import pytest
2121
import requests
2222
import responses
23-
from ibm_cloud_networking_services import *
23+
from ibm_cloud_networking_services.dns_zones_v1 import *
2424

2525

2626
service = DnsZonesV1(
@@ -57,8 +57,8 @@ def test_list_dnszones_all_params(self):
5757
# Set up parameter values
5858
instance_id = 'testString'
5959
x_correlation_id = 'testString'
60-
offset = 'testString'
61-
limit = 'testString'
60+
offset = 38
61+
limit = 38
6262
vpc_id = 'testString'
6363

6464
# Invoke method

0 commit comments

Comments
 (0)