def test_successful_modify_address_blocks_different_length(
         self, mock_get, mock_create_sf_connection):
     ''' successful modify'''
     mock_get.return_value = {
         'address_blocks': [{
             'start': '10.10.10.20',
             'size': 5
         }, {
             'start': '10.10.10.30',
             'size': 5
         }, {
             'start': '10.20.10.40',
             'size': 5
         }]
     }
     data = self.mock_args()
     data['address_blocks'] = [{
         'start': '10.10.10.20',
         'size': 5
     }, {
         'start': '10.20.10.40',
         'size': 5
     }, {
         'start': '10.20.10.30',
         'size': 5
     }]
     set_module_args(data)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = vlan()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
 def test_successful_delete(self, mock_get, mock_create_sf_connection):
     ''' successful delete'''
     data = self.mock_args()
     data['state'] = 'absent'
     set_module_args(data)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = vlan()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
 def test_helper_validate_keys(self, mock_create_sf_connection):
     '''test validate_keys()'''
     data = self.mock_args()
     del data['svip']
     set_module_args(data)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = vlan()
     with pytest.raises(AnsibleFailJson) as exc:
         my_obj.validate_keys()
     msg = "One or more required fields ['address_blocks', 'svip', 'netmask', 'name'] for creating VLAN is missing"
     assert exc.value.args[0]['msg'] == msg
 def test_successful_modify(self, mock_get, mock_create_sf_connection):
     ''' successful modify'''
     mock_get.return_value = {'svip': '1.1.1.1'}
     data = self.mock_args()
     data['svip'] = '3.4.5.6'
     set_module_args(data)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = vlan()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
 def test_successful_create(self, mock_set_attributes,
                            mock_create_sf_connection):
     ''' successful create'''
     mock_set_attributes.return_value = {'key': 'new_value'}
     data = self.mock_args()
     data['vlan_tag'] = '3'
     set_module_args(data)
     # my_obj.sfe will be assigned a MockSFConnection object:
     mock_create_sf_connection.return_value = MockSFConnection()
     my_obj = vlan()
     with pytest.raises(AnsibleExitJson) as exc:
         my_obj.apply()
     assert exc.value.args[0]['changed']
 def test_module_fail_when_required_args_missing(self):
     ''' required arguments are reported as errors '''
     with pytest.raises(AnsibleFailJson) as exc:
         set_module_args({})
         vlan()
     print('Info: %s' % exc.value.args[0]['msg'])