def test_edit_user(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([friendly_name]) self.assertEqual(rc, 0, "should be 0 %d" % (rc)) rc = nimbus_edit_user.main(["-b", "-a", s3id, "-p", s3pw, "-r", "access_id,access_secret", "-O", outFileName, friendly_name]) self.assertEqual(rc, 0, "should be 0 %d" % (rc)) needle = "%s,%s" % (s3id, s3pw) print "--> %s <--" % (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))
def update_user(current, desired, opts): args = [] if current['dn'] != desired['dn']: args.extend(['-s', desired['dn']]) if current['access_id'] != desired['access_id']: args.extend(['-a', desired['access_id']]) if current['access_secret'] != desired['access_secret']: args.extend(['-p', desired['access_secret']]) if current['group'] != desired['group']: args.extend(['-g', _fix_group(desired['group'])]) if current['canonical_id'] != desired['canonical_id']: # canonical ID cannot be updated (is used in cumulus paths) return "CANNOT_UPDATE" if args: name = current['display_name'] args.extend(['-q', name]) if not opts.update: pynimbusauthz.print_msg( opts, 2, "Not updating mismatched user %s: --update is not specified" % name) return "MISMATCHED" pynimbusauthz.print_msg( opts, 2, "Calling nimbus-edit-user with args: " + str(args)) if opts.dryrun: return "UPDATED" ok = False try: ok = nimbus_edit_user.main(args) == 0 except: pynimbusauthz.print_msg(opts, 2, "Error: " + traceback.format_exc()) return ok and "UPDATED" or "UPDATE_FAILED" return "UNCHANGED"
def update_user(current, desired, opts): args = [] if current['dn'] != desired['dn']: args.extend(['-s', desired['dn']]) if current['access_id'] != desired['access_id']: args.extend(['-a', desired['access_id']]) if current['access_secret'] != desired['access_secret']: args.extend(['-p', desired['access_secret']]) if current['group'] != desired['group']: args.extend(['-g', _fix_group(desired['group'])]) if current['canonical_id'] != desired['canonical_id']: # canonical ID cannot be updated (is used in cumulus paths) return "CANNOT_UPDATE" if args: name = current['display_name'] args.extend(['-q', name]) if not opts.update: pynimbusauthz.print_msg(opts, 2, "Not updating mismatched user %s: --update is not specified" % name) return "MISMATCHED" pynimbusauthz.print_msg(opts, 2, "Calling nimbus-edit-user with args: " + str(args)) if opts.dryrun: return "UPDATED" ok = False try: ok = nimbus_edit_user.main(args) == 0 except: pynimbusauthz.print_msg(opts, 2, "Error: " + traceback.format_exc()) return ok and "UPDATED" or "UPDATE_FAILED" return "UNCHANGED"