Example #1
0
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")
Example #2
0
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")
Example #3
0
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)
Example #4
0
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)
Example #5
0
class Euca5430(unittest.TestCase):

    def setUp(self):
        self.conf = "cloud.conf" 
        self.cond = 1     
        self.tester  = Eucaops( config_file=self.conf, password="******" )
        self.doAuth()

    def tearDown(self):
        self.tester.cleanup_artifacts()
        self.tester.delete_keypair(self.keypair)
        self.tester.local("rm " + self.keypair.name + ".pem") 
        shutil.rmtree(self.tester.credpath) 

    def doAuth(self):
        self.keypair = self.tester.add_keypair()
        self.group = self.tester.add_group()
        self.tester.authorize_group(self.group)

    def testName(self):
        #create the testGroup
        try:
            self.out = self.tester.create_group('Euca5430group')
        except Exception as detail:
            print str(detail)
        
        #try and create the testGroup again and check the error
        try:
            self.out = self.tester.create_group('Euca5430group')
        except Exception as detail:
            self.cond = str(detail).count('already exists')
        
        if self.cond >= 1:
            self.tester.debug("SUCCESS")
            pass
        else:
            self.fail("FAIL")
Example #6
0
class Euca5430(unittest.TestCase):
    def setUp(self):
        self.conf = "cloud.conf"
        self.cond = 1
        self.tester = Eucaops(config_file=self.conf, password="******")
        self.doAuth()

    def tearDown(self):
        self.tester.cleanup_artifacts()
        self.tester.delete_keypair(self.keypair)
        self.tester.local("rm " + self.keypair.name + ".pem")
        shutil.rmtree(self.tester.credpath)

    def doAuth(self):
        self.keypair = self.tester.add_keypair()
        self.group = self.tester.add_group()
        self.tester.authorize_group(self.group)

    def testName(self):
        #create the testGroup
        try:
            self.out = self.tester.create_group('Euca5430group')
        except Exception as detail:
            print str(detail)

        #try and create the testGroup again and check the error
        try:
            self.out = self.tester.create_group('Euca5430group')
        except Exception as detail:
            self.cond = str(detail).count('already exists')

        if self.cond >= 1:
            self.tester.debug("SUCCESS")
            pass
        else:
            self.fail("FAIL")
Example #7
0
 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)