App-MtAws

 view release on metacpan or  search on metacpan

t/unit/config_engine_parse.t  view on Meta::CPAN

	}


}

{
	fake_config key=>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {
		my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
		'create-vault myvault --config=glacier.cfg'
		));
		ok( !$errors, "show allow positional arguments" );
		ok ($command eq 'create-vault');
		ok( $result->{'vault-name'} eq 'myvault', "should parse positional arguments");
	}
}

{
	fake_config key=>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {
		my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
		'create-vault --config=glacier.cfg myvault'
		));
		ok( !$errors, "show allow positional arguments after options" );
		ok ($command eq 'create-vault');
		ok( $result->{'vault-name'} eq 'myvault', "should parse positional arguments after options");
	}
}

{
	fake_config key=>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {

	my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
	'create-vault --config=glacier.cfg'
	));
	ok( $errors && $errors->[0] eq 'Positional argument #1 (vault-name) is mandatory', "show throw error is positional argument is missing" );
	}
}

{
	fake_config key =>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {
		my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
		'create-vault --config=glacier.cfg arg1 arg2'
		));
		ok( $errors && $errors->[0] eq 'Extra argument in command line: arg2', "show throw error is there is extra positional argument" );
	}
}

{
	fake_config key=>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {
		my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
		'create-vault --config=glacier.cfg arg1 arg2'
		));
		ok( $errors && $errors->[0] eq 'Extra argument in command line: arg2', "show throw error is there is extra positional argument" );
	}
}

{
	fake_config key=>'mykey', secret => 'mysecret', region => 'myregion', vault => 'newvault', sub {
		my ($errors, $warnings, $command, $result) = config_create_and_parse(split(' ',
		'create-vault --config=glacier.cfg my#vault'
		));
		ok( $errors && $errors->[0] eq 'Vault name should be 255 characters or less and consisting of a-z, A-Z, 0-9, ".", "-", and "_"', "should validate positional arguments" );
	}
}



1;



( run in 0.801 second using v1.01-cache-2.11-cpan-437f7b0c052 )