<s> """<STR_LIT>""" <EOL> import json <EOL> import os . path <EOL> import mock <EOL> from SoftLayer . CLI . dns import zone_import <EOL> from SoftLayer . CLI import exceptions <EOL> from SoftLayer import testing <EOL> class DnsTests ( testing . TestCase ) : <EOL> def test_zone_print ( self ) : <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( json . loads ( result . output ) , "<STR_LIT>" ) <EOL> def test_create_zone ( self ) : <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( result . output , "<STR_LIT>" ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_delete_zone ( self , no_going_back_mock ) : <EOL> no_going_back_mock . return_value = True <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( result . output , "<STR_LIT>" ) <EOL> no_going_back_mock . return_value = False <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( result . output , "<STR_LIT>" ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_delete_zone_abort ( self , no_going_back_mock ) : <EOL> no_going_back_mock . return_value = False <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:2> ) <EOL> self . assertIsInstance ( result . exception , exceptions . CLIAbort ) <EOL> def test_list_zones ( self ) : <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( json . loads ( result . output ) , <EOL> [ { '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : <NUM_LIT> , <EOL> '<STR_LIT>' : '<STR_LIT>' } ] ) <EOL> def test_list_records ( self ) : <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( json . loads ( result . output ) [ <NUM_LIT:0> ] , <EOL> { '<STR_LIT>' : '<STR_LIT:a>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : <NUM_LIT:1> , <EOL> '<STR_LIT:data>' : '<STR_LIT:d>' , <EOL> '<STR_LIT>' : <NUM_LIT> } ) <EOL> def test_add_record ( self ) : <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:A>' , '<STR_LIT:d>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( result . output , "<STR_LIT>" ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_delete_record ( self , no_going_back_mock ) : <EOL> no_going_back_mock . return_value = True <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:0> ) <EOL> self . assertEqual ( result . output , "<STR_LIT>" ) <EOL> @ mock . patch ( '<STR_LIT>' ) <EOL> def test_delete_record_abort ( self , no_going_back_mock ) : <EOL> no_going_back_mock . return_value = False <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] ) <EOL> self . assertEqual ( result . exit_code , <NUM_LIT:2> ) <EOL> self . assertIsInstance ( result . exception , exceptions . CLIAbort ) <EOL> def test_parse_zone_file ( self ) : <EOL> zone_file = """<STR_LIT>""" <EOL> expected = [ { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:@>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:@>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT:127.0.0.1>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } ] <EOL> zone , records , bad_lines = zone_import . parse_zone_details ( zone_file ) <EOL> self . assertEqual ( zone , '<STR_LIT>' ) <EOL> self . assertEqual ( records , expected ) <EOL> self . assertEqual ( len ( bad_lines ) , <NUM_LIT> ) <EOL> def test_import_zone_dry_run ( self ) : <EOL> path = os . path . join ( testing . FIXTURE_PATH , '<STR_LIT>' ) <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , path , '<STR_LIT>' ] ) <EOL> self . assertIn ( "<STR_LIT>" , result . output ) <EOL> self . assertIn ( <EOL> "<STR_LIT>" , <EOL> result . output ) <EOL> self . assertIn ( "<STR_LIT>" , result . output ) <EOL> def test_import_zone ( self ) : <EOL> path = os . path . join ( testing . FIXTURE_PATH , '<STR_LIT>' ) <EOL> result = self . run_command ( [ '<STR_LIT>' , '<STR_LIT>' , path ] ) <EOL> self . assertEqual ( self . calls ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> [ ] ) <EOL> calls = self . calls ( '<STR_LIT>' , <EOL> '<STR_LIT>' ) <EOL> expected_calls = [ { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT:@>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT:@>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT:127.0.0.1>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : '<STR_LIT>' } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT:A>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } , <EOL> { '<STR_LIT:data>' : '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:host>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT:type>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : None } ] <EOL> self . assertEqual ( len ( calls ) , len ( expected_calls ) ) <EOL> for call , expected_call in zip ( calls , expected_calls ) : <EOL> self . assertEqual ( call . args [ <NUM_LIT:0> ] , expected_call ) <EOL> self . assertIn ( "<STR_LIT>" , result . output ) </s>
