Exemplo n.º 1
0
    def test_full_admin_privileges(self):
        """Test full admin privileges check."""
        # root user
        conn = BlitzGateway(client_obj=self.root)
        assert conn.isFullAdmin()

        # New user with All privileges
        allPrivs = []
        for p in conn.getEnumerationEntries('AdminPrivilege'):
            allPrivs.append(p.getValue())
        client1 = self.new_client(privileges=allPrivs)
        conn1 = BlitzGateway(client_obj=client1)
        assert conn1.isFullAdmin()

        # New user with Restricted privileges
        client2 = self.new_client(privileges=['Sudo', 'ReadSession'])
        conn2 = BlitzGateway(client_obj=client2)
        assert not conn2.isFullAdmin()
    # Current session details
    # =======================
    # By default, you will have logged into your 'current' group in OMERO.
    # This can be changed by switching group in the OMERO.insight or OMERO.web
    # clients.

    user = conn.getUser()
    print("Current user:"******"   ID:", user.getId())
    print("   Username:"******"   Full Name:", user.getFullName())

    # Check if you are an Administrator
    print("   Is Admin:", conn.isAdmin())
    if not conn.isFullAdmin():
        # If 'Restricted Administrator' show privileges
        print(conn.getCurrentAdminPrivileges())

    print("Member of:")
    for g in conn.getGroupsMemberOf():
        print("   ID:", g.getId(), " Name:", g.getName())
    group = conn.getGroupFromContext()
    print("Current group: ", group.getName())

    # List the group owners and other members
    owners, members = group.groupSummary()
    print("   Group owners:")
    for o in owners:
        print("     ID: %s UserName: %s Name: %s" %
              (o.getId(), o.getOmeName(), o.getFullName()))