class Euca(unittest.TestCase): def setUp(self): self.conf = "../cloud.conf" self.tester = Eucaops(config_file=self.conf, password="******") self.doAuth() self.STARTC = '\033[1m\033[1m\033[42m' self.ENDC = '\033[0m' self.account = "9959-account" self.groupname = "9959-group" self.username = "******" def tearDown(self): self.tester.delete_account(self.account, recursive=True) self.tester.sys('rm -rf role-describe-instances-principle.json') self.tester.sys('rm -rf role-trust.json') self.tester.cleanup_artifacts() self.tester.delete_keypair(self.keypair) self.tester.local("rm " + self.keypair.name + ".pem") shutil.rmtree(self.tester.credpath) def runSysCmd(self, cmd): self.source = "source " + self.tester.credpath + "/eucarc && " self.out = self.tester.sys(self.source + cmd) def doAuth(self): self.keypair = self.tester.add_keypair() self.group = self.tester.add_group() self.tester.authorize_group(self.group) def test(self): # create account, group and user self.tester.create_account(account_name=self.account) self.tester.create_group(self.groupname, "/", self.account) self.tester.create_user(self.username, "/", self.account) self.tester.add_user_to_group(self.groupname, self.username, self.account) # copy json to clc self.clc_ip = str(self.tester.clc.hostname) os.system('scp role-describe-instances-principle.json root@' + self.clc_ip + ':role-describe-instances-principle.json') os.system('scp role-trust.json root@' + self.clc_ip + ':role-trust.json') # create user role self.runSysCmd( "euare-rolecreate -r describe-instances -f role-trust.json --region " + self.account + "-" + self.username) self.runSysCmd( "euare-roleuploadpolicy -r describe-instances -p describe-instances-policy -f role-describe-instances-principle.json --region " + self.account + "-" + self.username) print self.STARTC + "Success " + str( self.out) + " ENABLED " + self.ENDC # Check to see that the error message was thrown and not the text from the json file. count = str( self.out).count("Policy document should not specify a principal.") if count > 0: self.tester.debug("SUCCESS") pass else: self.fail("FAILED : correct error message not thrown")
class Euca(unittest.TestCase): def setUp(self): self.conf = "../cloud.conf" self.tester = Eucaops(config_file=self.conf, password="******") self.doAuth() self.STARTC = '\033[1m\033[1m\033[42m' self.ENDC = '\033[0m' self.account = "9959-account" self.groupname = "9959-group" self.username ="******" def tearDown(self): self.tester.delete_account(self.account, recursive=True) self.tester.sys('rm -rf role-describe-instances-principle.json') self.tester.sys('rm -rf role-trust.json') self.tester.cleanup_artifacts() self.tester.delete_keypair(self.keypair) self.tester.local("rm " + self.keypair.name + ".pem") shutil.rmtree(self.tester.credpath) def runSysCmd(self, cmd): self.source = "source " + self.tester.credpath + "/eucarc && " self.out = self.tester.sys(self.source + cmd) def doAuth(self): self.keypair = self.tester.add_keypair() self.group = self.tester.add_group() self.tester.authorize_group(self.group) def test(self): # create account, group and user self.tester.create_account(account_name=self.account) self.tester.create_group(self.groupname, "/", self.account) self.tester.create_user(self.username, "/", self.account) self.tester.add_user_to_group(self.groupname,self.username,self.account) # copy json to clc self.clc_ip = str(self.tester.clc.hostname) os.system('scp role-describe-instances-principle.json root@' + self.clc_ip + ':role-describe-instances-principle.json') os.system('scp role-trust.json root@' + self.clc_ip + ':role-trust.json') # create user role self.runSysCmd("euare-rolecreate -r describe-instances -f role-trust.json --region " + self.account + "-" + self.username) self.runSysCmd("euare-roleuploadpolicy -r describe-instances -p describe-instances-policy -f role-describe-instances-principle.json --region " + self.account + "-" + self.username) print self.STARTC + "Success " + str(self.out) + " ENABLED " + self.ENDC # Check to see that the error message was thrown and not the text from the json file. count = str(self.out).count("Policy document should not specify a principal.") if count > 0 : self.tester.debug("SUCCESS") pass else: self.fail("FAILED : correct error message not thrown")
class SampleTest(EutesterTestCase): def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("--account-number", default=1) self.parser.add_argument("--account-prefix", default="test-account-") self.parser.add_argument("--group-prefix", default="test-group-") self.parser.add_argument("--user-prefix", default="test-user-") self.parser.add_argument("--password-prefix", default="mypassword") self.parser.add_argument("--user-number", default=1) self.get_args() # Setup basic eutester object self.tester = Eucaops(config_file=self.args.config, password=self.args.password, credpath=self.args.credpath) def clean_method(self): pass def CreateUsers(self): """ This is where the test description goes """ allow_all_policy = """{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*" }] }""" for i in xrange(self.args.account_number): account_name = self.args.account_prefix + str(i) group_name = self.args.group_prefix + str(i) password = self.args.password_prefix + str(i) self.tester.create_account(account_name) self.tester.create_group(group_name, "/", account_name) self.tester.attach_policy_group(group_name, "allow-all", allow_all_policy, account_name) for k in xrange(self.args.user_number): user_name = self.args.user_prefix + str(k) self.tester.create_user(user_name, "/", account_name) self.tester.add_user_to_group(group_name, user_name, account_name) self.tester.create_login_profile(user_name, password, account_name)
class SampleTest(EutesterTestCase): def __init__(self): self.setuptestcase() self.setup_parser() self.parser.add_argument("--account-number",default=1) self.parser.add_argument("--account-prefix",default="test-account-") self.parser.add_argument("--group-prefix",default="test-group-") self.parser.add_argument("--user-prefix",default="test-user-") self.parser.add_argument("--user-number",default=2) self.get_args() # Setup basic eutester object self.tester = Eucaops(config_file=self.args.config, password=self.args.password, credpath=self.args.credpath) def clean_method(self): pass def CreateUsers(self): """ This is where the test description goes """ allow_all_policy = """{ "Statement": [ { "Action": "ec2:*", "Effect": "Allow", "Resource": "*" }, { "Action": "s3:*", "Effect": "Allow", "Resource": "*" }] }""" for i in xrange(self.args.account_number): account_name = self.args.account_prefix + str(i) group_name = self.args.group_prefix + str(i) self.tester.create_account(account_name) self.tester.create_group(group_name, "/",account_name) self.tester.attach_policy_group(group_name,"allow-all", allow_all_policy, account_name) for k in xrange(self.args.user_number): user_name = self.args.user_prefix + str(k) self.tester.create_user(user_name, "/", account_name) self.tester.add_user_to_group(group_name, user_name, account_name)
parser.add_argument("--group-prefix", default="test-group-") args = parser.parse_args() tester = Eucaops(credpath=args.credpath) allow_all_policy = """{ "Statement": [ { "Action": "ec2:*", "Effect": "Allow", "Resource": "*" }, { "Action": "s3:*", "Effect": "Allow", "Resource": "*" } ] }""" for i in xrange(args.account_number): account_name = args.account_prefix + str(i) group_name = args.group_prefix + str(i) tester.create_account(account_name) tester.create_group(group_name, "/",account_name) tester.attach_policy_group(group_name,"allow-all", allow_all_policy, account_name) for k in xrange(args.user_number): user_name = args.user_prefix + str(k) tester.create_user(user_name, "/", account_name) tester.add_user_to_group(group_name, user_name, account_name)