Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remark out all currently failing unit tests. Fixes #2137 #2153

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/rockstor/storageadmin/tests/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def setUpClass(cls):
super(CommandTests, cls).setUpClass()

cls.patch_get_pool_info = patch(
'storageadmin.views.command.get_pool_info')
'fs.btrfs.get_pool_info')
cls.mock_get_pool_info = cls.patch_get_pool_info.start()
cls.mock_get_pool_info.return_value = {'disks': [], 'label': 'pool2'}

Expand All @@ -52,7 +52,7 @@ def setUpClass(cls):
cls.mock_update_run = cls.patch_update_run.start()

cls.patch_update_check = patch(
'storageadmin.views.command.update_check')
'storageadmin.views.command.rockstor_pkg_update_check')
cls.mock_update_check = cls.patch_update_check.start()
cls.mock_update_check.return_value = 1, 1, 1

Expand Down
17 changes: 9 additions & 8 deletions src/rockstor/storageadmin/tests/test_disks.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,14 +126,15 @@ def test_disk_wipe(self, mock_disk):
self.assertEqual(response.data[0], e_msg)
self.mock_wipe_disk.side_effect = None

@mock.patch("storageadmin.views.disk.Disk")
def test_btrfs_disk_import(self, mock_disk):

mock_disk.objects.get.return_value = self.temp_disk

url = "{}/2/btrfs-disk-import".format(self.BASE_URL)
response = self.client.post(url, data=None, format="json")
self.assertEqual(response.status_code, status.HTTP_200_OK)
# # TODO: FAIL AssertionError: 500 != 200
# @mock.patch("storageadmin.views.disk.Disk")
# def test_btrfs_disk_import(self, mock_disk):
#
# mock_disk.objects.get.return_value = self.temp_disk
#
# url = "{}/2/btrfs-disk-import".format(self.BASE_URL)
# response = self.client.post(url, data=None, format="json")
# self.assertEqual(response.status_code, status.HTTP_200_OK)

@mock.patch("storageadmin.views.disk.Disk")
def test_btrfs_disk_import_fail(self, mock_disk):
Expand Down
9 changes: 5 additions & 4 deletions src/rockstor/storageadmin/tests/test_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,8 @@ def test_delete_requests(self):
err_msg = 'Delete of restricted group (root) is not supported.'
self.assertEqual(response.data[0], err_msg)

# happy path
response = self.client.delete('{}/admin2'.format(self.BASE_URL))
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)
# # TODO: FAIL AssertionError: ['Group (admin2) does not exist.', 'None\n']
# # happy path
# response = self.client.delete('{}/admin2'.format(self.BASE_URL))
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
10 changes: 5 additions & 5 deletions src/rockstor/storageadmin/tests/test_login.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ def test_post_requests(self):
# https://127.0.0.1:443/api/login
# logs 200 in "/var/log/nginx/access.log"

# happy path
data = {'username': 'admin', 'password': 'admin'}
response = self.client.post(self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)
# # happy path
# data = {'username': 'admin', 'password': 'admin'}
# response = self.client.post(self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
225 changes: 115 additions & 110 deletions src/rockstor/storageadmin/tests/test_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def setUpClass(cls):
# post mocks

# devices map dictionary
cls.patch_devices = patch('system.network.devices')
cls.patch_devices = patch('system.network.get_dev_config')
cls.mock_devices = cls.patch_devices.start()
cls.mock_devices.return_value = {
'lo': {'dtype': 'loopback', 'mac': '00:00:00:00:00:00',
Expand All @@ -53,7 +53,7 @@ def setUpClass(cls):
'mtu': '1500'}}

# connections map dictionary
cls.patch_connections = patch('system.network.connections')
cls.patch_connections = patch('system.network.get_con_config')
cls.mock_connections = cls.patch_connections.start()
cls.mock_connections.return_value = {
'8dca3630-8c54-4ad7-8421-327cc2d3d14a':
Expand Down Expand Up @@ -123,114 +123,119 @@ def tearDownClass(cls):
super(NetworkTests, cls).tearDownClass()

# TODO: Probably needs a re-write from here down due to API change.
# N.B. There are working and current system level unit tests in:
# src/rockstor/system/tests/test_system_network.py
# Added via pr: "Add unit testing for core network functions" #2045 on GitHub

# Fixture fix1.json has the test data. networks already exits in data are
# 'enp0s3' and 'enp0s8'
def test_get(self):
"""
unauthorized access
"""
# get base URL
response = self.client.get(self.BASE_URL)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)

# get with iname
response = self.client.get('%s/enp0s3' % self.BASE_URL)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)

def test_put(self):
"""
put, change itype
"""
# TODO: test needs updating, interface now different.
# invalid network interface
data = {'itype': 'management'}
response = self.client.put('%s/invalid' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = 'Network connection (invalid) does not exist.'
self.assertEqual(response.data['detail'], e_msg)

# edit configuration with out providing config method
data = {'method': '', 'itype': 'management'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = 'Method must be auto(for dhcp) or manual(for static IP). not: '
self.assertEqual(response.data['detail'], e_msg)

# happy path
data = {'method': 'auto', 'itype': 'management'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)
self.assertEqual(response.data['itype'], 'management')

# netmask set to None
data = {'method': 'manual', 'ipaddr': '192.168.56.101',
'netmask': None, 'gateway': '', 'dns_servers': '',
'itype': 'io'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = ('Provided netmask value(None) is invalid. You can provide '
'it in a IP address format(eg: 255.255.255.0) or number of '
'bits(eg: 24)')
self.assertEqual(response.data['detail'], e_msg)

# Invalid netmask
data = {'method': 'manual', 'ipaddr': '192.168.56.101',
'netmask': '111', 'gateway': '',
'dns_servers': '', 'itype': 'io'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = ('Provided netmask value(111) is invalid. Number of bits in '
'netmask must be between 1-32')
self.assertEqual(response.data['detail'], e_msg)

# happy path
data = {'method': 'manual', 'ipaddr': '192.168.56.101',
'netmask': '225.225.225.0', 'gateway': '',
'dns_servers': '', 'itype': 'io'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)
self.assertEqual(response.data['itype'], 'io')

# happy path
data = {'method': 'auto', 'itype': 'management'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_200_OK, msg=response.data)
self.assertEqual(response.data['itype'], 'management')

# Setting network interface itype to management when the othet network
# is already set to management
data = {'method': 'auto', 'itype': 'management'}
response = self.client.put('%s/enp0s8' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = ('Another interface(enp0s3) is already configured for '
'management. You must disable it first before making this '
'change.')
self.assertEqual(response.data['detail'], e_msg)

# provide ipaddress thats already been used by another interface
data = {'method': 'manual', 'ipaddr': '10.0.3.15',
'netmask': '225.225.225.0', 'gateway': '',
'dns_servers': '', 'itype': 'io'}
response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
self.assertEqual(response.status_code,
status.HTTP_500_INTERNAL_SERVER_ERROR,
msg=response.data)
e_msg = ('IP: 192.168.56.101 already in use by another '
'interface: enp0s8')
self.assertEqual(response.data['detail'], e_msg)
# TODO: AttributeError: 'HttpResponseNotFound' object has no attribute 'data'
# received on both below tests. Suspected as due to above referenced API change.
# def test_get(self):
# """
# unauthorized access
# """
# # get base URL
# response = self.client.get(self.BASE_URL)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
#
# # get with iname
# response = self.client.get('%s/enp0s3' % self.BASE_URL)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)

# def test_put(self):
# """
# put, change itype
# """
# # TODO: test needs updating, interface now different.
# # invalid network interface
# data = {'itype': 'management'}
# response = self.client.put('%s/invalid' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = 'Network connection (invalid) does not exist.'
# self.assertEqual(response.data['detail'], e_msg)
#
# # edit configuration with out providing config method
# data = {'method': '', 'itype': 'management'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = 'Method must be auto(for dhcp) or manual(for static IP). not: '
# self.assertEqual(response.data['detail'], e_msg)
#
# # happy path
# data = {'method': 'auto', 'itype': 'management'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
# self.assertEqual(response.data['itype'], 'management')
#
# # netmask set to None
# data = {'method': 'manual', 'ipaddr': '192.168.56.101',
# 'netmask': None, 'gateway': '', 'dns_servers': '',
# 'itype': 'io'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = ('Provided netmask value(None) is invalid. You can provide '
# 'it in a IP address format(eg: 255.255.255.0) or number of '
# 'bits(eg: 24)')
# self.assertEqual(response.data['detail'], e_msg)
#
# # Invalid netmask
# data = {'method': 'manual', 'ipaddr': '192.168.56.101',
# 'netmask': '111', 'gateway': '',
# 'dns_servers': '', 'itype': 'io'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = ('Provided netmask value(111) is invalid. Number of bits in '
# 'netmask must be between 1-32')
# self.assertEqual(response.data['detail'], e_msg)
#
# # happy path
# data = {'method': 'manual', 'ipaddr': '192.168.56.101',
# 'netmask': '225.225.225.0', 'gateway': '',
# 'dns_servers': '', 'itype': 'io'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
# self.assertEqual(response.data['itype'], 'io')
#
# # happy path
# data = {'method': 'auto', 'itype': 'management'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_200_OK, msg=response.data)
# self.assertEqual(response.data['itype'], 'management')
#
# # Setting network interface itype to management when the othet network
# # is already set to management
# data = {'method': 'auto', 'itype': 'management'}
# response = self.client.put('%s/enp0s8' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = ('Another interface(enp0s3) is already configured for '
# 'management. You must disable it first before making this '
# 'change.')
# self.assertEqual(response.data['detail'], e_msg)
#
# # provide ipaddress thats already been used by another interface
# data = {'method': 'manual', 'ipaddr': '10.0.3.15',
# 'netmask': '225.225.225.0', 'gateway': '',
# 'dns_servers': '', 'itype': 'io'}
# response = self.client.put('%s/enp0s3' % self.BASE_URL, data=data)
# self.assertEqual(response.status_code,
# status.HTTP_500_INTERNAL_SERVER_ERROR,
# msg=response.data)
# e_msg = ('IP: 192.168.56.101 already in use by another '
# 'interface: enp0s8')
# self.assertEqual(response.data['detail'], e_msg)
Loading