Example #1
0
    def test_list_user(self):
        name1 = self.get_user_name()
        rc = nimbus_new_user.main([name1])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        name2 = self.get_user_name()
        rc = nimbus_new_user.main([name2])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        name3 = self.get_user_name()
        rc = nimbus_new_user.main([name3])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)
        rc = nimbus_list_users.main(["-b", "-r", "display_name", "-O", outFileName, '%'])
        rc = self.find_in_file(outFileName, name1)
        self.assertTrue(rc)

        rc = self.find_in_file(outFileName, name2)
        self.assertTrue(rc)

        rc = self.find_in_file(outFileName, name3)
        self.assertTrue(rc)

        os.unlink(outFileName)
Example #2
0
    def test_list_user(self):
        name1 = self.get_user_name()
        rc = nimbus_new_user.main([name1])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        name2 = self.get_user_name()
        rc = nimbus_new_user.main([name2])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        name3 = self.get_user_name()
        rc = nimbus_new_user.main([name3])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)
        rc = nimbus_list_users.main(["-b", "-r", "display_name", "-O", outFileName, '%'])
        rc = self.find_in_file(outFileName, name1)
        self.assertTrue(rc)

        rc = self.find_in_file(outFileName, name2)
        self.assertTrue(rc)

        rc = self.find_in_file(outFileName, name3)
        self.assertTrue(rc)

        os.unlink(outFileName)
Example #3
0
    def test_make_user_twice(self):
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        rc = nimbus_new_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should be 0 %d" % (rc))

        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #4
0
    def test_make_user_twice(self):
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        rc = nimbus_new_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should be 0 %d" % (rc))

        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #5
0
    def test_db_commit_user(self):
        # insert a new user with an error
        friendly_name = self.get_user_name(friendly_name="*****@*****.**")
        rc = nimbus_new_user.main(["--cert", "none", "--key", "none", friendly_name])
        self.assertNotEqual(rc, 0, "we expect this one to fail %d" % (rc))

        # insert the user without the error to make sure the previous was rolled back
        friendly_name = self.get_user_name(friendly_name="*****@*****.**")
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "but then this clarification should succeed %d" % (rc))
Example #6
0
    def test_db_commit_user(self):
        # insert a new user with an error
        friendly_name = self.get_user_name(friendly_name="*****@*****.**")
        rc = nimbus_new_user.main(["--cert", "none", "--key", "none", friendly_name])
        self.assertNotEqual(rc, 0, "we expect this one to fail %d" % (rc))

        # insert the user without the error to make sure the previous was rolled back
        friendly_name = self.get_user_name(friendly_name="*****@*****.**")
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "but then this clarification should succeed %d" % (rc))
Example #7
0
    def test_rest_users(self):
        for i in range(0, 10):
            friendly_name = self.get_user_name()
            rc = nimbus_new_user.main([friendly_name])
            self.assertEqual(rc, 0, "should not be 0 %d" % (rc))

        dbobj = DB(con_str=self.dbenv)
        rc = nimbus_reset_state.main(["-u", "-f"])
        self.assertEqual(rc, 0)

        # make sure that none are in there
        allu = User.find_user_by_friendly(dbobj, '%')
        self.assertEqual(list(allu), 0)
Example #8
0
    def test_make_remove_canid_user(self):
        uu = str(uuid.uuid1())
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main(["--canonical-id", uu, friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)
        rc = nimbus_list_users.main(["-b", "-r", "canonical_id", "-O", outFileName, "%"])
        rc = self.find_in_file(outFileName, uu)
        self.assertTrue(rc)

        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #9
0
    def test_new_user(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        rc = nimbus_new_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should not be 0 %d" % (rc))

        # make sure the user was not added
        os.environ["NIMBUS_HOME"] = self.nh
        rc = nimbus_list_users.main(["-b", "-r", "display_name", "-O", outFileName, friendly_name])
        rc = self.find_in_file(outFileName, friendly_name)
        self.assertFalse(rc)
Example #10
0
    def test_new_user(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        rc = nimbus_new_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should not be 0 %d" % (rc))

        # make sure the user was not added
        os.environ['NIMBUS_HOME'] = self.nh
        rc = nimbus_list_users.main(
            ["-b", "-r", "display_name", "-O", outFileName, friendly_name])
        rc = self.find_in_file(outFileName, friendly_name)
        self.assertFalse(rc)
Example #11
0
    def test_make_remove_canid_user(self):
        uu = str(uuid.uuid1())
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main(["--canonical-id", uu, friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)
        rc = nimbus_list_users.main(["-b", "-r", "canonical_id", "-O", outFileName, '%'])
        rc = self.find_in_file(outFileName, uu)
        self.assertTrue(rc)


        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #12
0
    def test_no_s3(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        s3id = str(uuid.uuid1())
        s3pw = str(uuid.uuid1())
        rc = nimbus_new_user.main(["--nocert", "-b", "-r", "cert,key,dn", "-O", outFileName, friendly_name])
        needle = "None,None,None" 
        rc = self.find_in_file(outFileName, needle)
        os.unlink(outFileName)
        self.assertTrue(rc)
        
        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #13
0
    def test_no_s3(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        s3id = str(uuid.uuid1())
        s3pw = str(uuid.uuid1())
        rc = nimbus_new_user.main(["--nocert", "-b", "-r", "cert,key,dn", "-O", outFileName, friendly_name])
        needle = "None,None,None" 
        rc = self.find_in_file(outFileName, needle)
        os.unlink(outFileName)
        self.assertTrue(rc)
        
        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #14
0
    def test_complex_dn(self):
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main(["-n", "%s/Email=%[email protected]" % (friendly_name, friendly_name), friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        users = self._get_users()

        found = False
        for u in users:
            if users[u]["display_name"] == friendly_name:
                found = True
                self.assertEqual(
                    users[u]["dn"], "/O=Auto/OU=CA/CN=%s/Email=%[email protected]" % (friendly_name, friendly_name)
                )

        self.assertTrue(found)
        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #15
0
def new_user(user, opts):
    args = ['-s', user['dn'], '-i', user['canonical_id'], '-a', user['access_id'],
            '-p', user['access_secret'], '-g', _fix_group(user['group']),
            '-P', '-q', user['display_name']]

    pynimbusauthz.print_msg(opts, 2, "Calling nimbus-new-user with args: " +
            str(args))

    if opts.dryrun:
        return "ADDED"

    ok = False
    try:
        ok = nimbus_new_user.main(args) == 0
    except:
        pynimbusauthz.print_msg(opts, 2, "Error: " + traceback.format_exc())
    return ok and "ADDED" or "ADD_FAILED"
Example #16
0
    def test_new_user_s3ids(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        s3id = str(uuid.uuid1())
        s3pw = str(uuid.uuid1())
        rc = nimbus_new_user.main(["-a", s3id, "-p", s3pw, "-b", "-r", "access_id,access_secret", "-O", outFileName, friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        needle = "%s,%s" % (s3id, s3pw)
        print needle
        rc = self.find_in_file(outFileName, needle)
        os.unlink(outFileName)
        self.assertTrue(rc)

        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #17
0
    def test_new_user_s3ids(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        s3id = str(uuid.uuid1())
        s3pw = str(uuid.uuid1())
        rc = nimbus_new_user.main(["-a", s3id, "-p", s3pw, "-b", "-r", "access_id,access_secret", "-O", outFileName, friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        needle = "%s,%s" % (s3id, s3pw)
        print needle
        rc = self.find_in_file(outFileName, needle)
        os.unlink(outFileName)
        self.assertTrue(rc)

        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #18
0
def new_user(user, opts):
    args = [
        '-s', user['dn'], '-i', user['canonical_id'], '-a', user['access_id'],
        '-p', user['access_secret'], '-g',
        _fix_group(user['group']), '-P', '-q', user['display_name']
    ]

    pynimbusauthz.print_msg(opts, 2,
                            "Calling nimbus-new-user with args: " + str(args))

    if opts.dryrun:
        return "ADDED"

    ok = False
    try:
        ok = nimbus_new_user.main(args) == 0
    except:
        pynimbusauthz.print_msg(opts, 2, "Error: " + traceback.format_exc())
    return ok and "ADDED" or "ADD_FAILED"
Example #19
0
    def test_complex_dn(self):
        friendly_name = self.get_user_name()
        rc = nimbus_new_user.main([
            "-n",
            "%s/Email=%[email protected]" % (friendly_name, friendly_name),
            friendly_name
        ])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
        users = self._get_users()

        found = False
        for u in users:
            if users[u]['display_name'] == friendly_name:
                found = True
                self.assertEqual(
                    users[u]['dn'],
                    '/O=Auto/OU=CA/CN=%s/Email=%[email protected]' %
                    (friendly_name, friendly_name))

        self.assertTrue(found)
        rc = nimbus_remove_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))
Example #20
0
    def test_remove_user(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        # add a good user
        os.environ["NIMBUS_HOME"] = self.nh
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        os.environ["NIMBUS_HOME"] = "/nope"
        # remove with an error
        rc = nimbus_remove_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should not be 0 %d" % (rc))

        # relist to see user is still there
        os.environ["NIMBUS_HOME"] = self.nh
        rc = nimbus_list_users.main(["-b", "-r", "display_name", "-O", outFileName, friendly_name])
        self.assertEqual(rc, 0, "should not be 0 %d" % (rc))
        rc = self.find_in_file(outFileName, friendly_name)
        self.assertTrue(rc)
Example #21
0
    def test_remove_user(self):
        friendly_name = self.get_user_name()

        (tmpFD, outFileName) = tempfile.mkstemp("cumulustests")
        os.close(tmpFD)

        # add a good user
        os.environ['NIMBUS_HOME'] = self.nh
        rc = nimbus_new_user.main([friendly_name])
        self.assertEqual(rc, 0, "should be 0 %d" % (rc))

        os.environ['NIMBUS_HOME'] = "/nope"
        # remove with an error
        rc = nimbus_remove_user.main([friendly_name])
        self.assertNotEqual(rc, 0, "should not be 0 %d" % (rc))

        # relist to see user is still there
        os.environ['NIMBUS_HOME'] = self.nh
        rc = nimbus_list_users.main(
            ["-b", "-r", "display_name", "-O", outFileName, friendly_name])
        self.assertEqual(rc, 0, "should not be 0 %d" % (rc))
        rc = self.find_in_file(outFileName, friendly_name)
        self.assertTrue(rc)