示例#1
0
    sess = HttpSessions()
    sess.add_server(idpname, 'https://127.0.0.10:45080', user, 'ipsilon')
    sess.add_server(sp1name, 'https://127.0.0.11:45081')
    sess.add_server(sp2name, 'https://127.0.0.11:45082')

    print "test1: Authenticate to IDP ...",
    try:
        sess.auth_to_idp(idpname)
    except Exception, e:  # pylint: disable=broad-except
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "test1: Add first SP Metadata to IDP ...",
    try:
        sess.add_sp_metadata(idpname, sp1name)
    except Exception, e:  # pylint: disable=broad-except
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "test1: Access first SP Protected Area ...",
    try:
        page = sess.fetch_page(idpname, 'https://127.0.0.11:45081/sp/')
        page.expected_value('text()', 'WORKS!')
    except ValueError, e:
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "test1: Access second SP Protected Area ...",
示例#2
0
    sp1name = 'sp1'
    user = pwd.getpwuid(os.getuid())[0]

    sess = HttpSessions()
    sess.add_server(idpname, 'https://127.0.0.10:45080', user, 'ipsilon')
    sess.add_server(sp1name, 'https://127.0.0.11:45081')

    with TC.case('Verify logged out state'):
        page = sess.fetch_page(idpname, 'https://127.0.0.10:45080/idp1/')
        page.expected_value('//div[@id="content"]/p/a/text()', 'Log In')

    with TC.case('Authenticating to IdP'):
        sess.auth_to_idp(idpname)

    with TC.case('Add SP Metadata to IdP'):
        sess.add_sp_metadata(idpname, sp1name)

    with TC.case('Access first SP Protected Area'):
        page = sess.fetch_page(idpname, 'https://127.0.0.11:45081/sp/')
        page.expected_value('text()', 'WORKS!')

    with TC.case('Verify logged in state'):
        page = sess.fetch_page(idpname, 'https://127.0.0.10:45080/idp1/')
        page.expected_value('//div[@id="content"]/p/a/text()', None)

    with TC.case('Checking that SAML2 sessions were created'):
        sess_db = os.path.join(os.environ['TESTDIR'],
                               'lib/idp1/saml2.sessions.db.sqlite')
        conn = sqlite3.connect(sess_db)
        cur = conn.cursor()
        cur.execute('SELECT * FROM saml2_sessions;')
示例#3
0
    sess.add_server(spname, 'https://127.0.0.11:45081')
    sess.add_server(sp2name, 'https://127.0.0.10:45082')
    sess.add_server(sp3name, 'https://127.0.0.10:45083')

    with TC.case('Authenticate to IdP'):
        sess.auth_to_idp(idpname)

    with TC.case('List initial Service Providers via REST'):
        result = sess.get_rest_sp(idpname)
        if len(result['result']) != 0:
            raise ValueError(
                'Expected no SP and got %d' % len(result['result'])
            )

    with TC.case('Add SP Metadata to IdP via admin'):
        sess.add_sp_metadata(idpname, spname)

    with TC.case('List Service Providers via REST'):
        result = sess.get_rest_sp(idpname)
        if len(result['result']) != 1:
            raise ValueError(
                'Expected 1 SP and got %d' % len(result['result'])
            )
        if result['result'][0].get('provider') != spname:
            raise ValueError(
                'Expected %s and got %s' %
                (spname, result['result'][0].get('provider'))
            )

    with TC.case('Add Service Provider via REST'):
        sess.add_sp_metadata(idpname, sp2name, rest=True)
示例#4
0
    print "testrest: List initial Service Providers via REST ...",
    try:
        result = sess.get_rest_sp(idpname)
        if len(result['result']) != 0:
            raise ValueError(
                'Expected no SP and got %d' % len(result['result'])
            )
    except ValueError, e:
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "testrest: Add SP Metadata to IDP via admin ...",
    try:
        sess.add_sp_metadata(idpname, spname)
    except Exception, e:  # pylint: disable=broad-except
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "testrest: List Service Providers via REST ...",
    try:
        result = sess.get_rest_sp(idpname)
        if len(result['result']) != 1:
            raise ValueError(
                'Expected 1 SP and got %d' % len(result['result'])
            )
        if result['result'][0].get('provider') != spname:
            raise ValueError(
                'Expected %s and got %s' %
示例#5
0
    idpname = 'idp1'
    user = pwd.getpwuid(os.getuid())[0]
    sp = sp_list[0]
    spurl = 'https://%s:%s' % (sp['addr'], sp['port'])

    # Set global mapping and allowed attributes, then test fetch from
    # SP.
    sess = HttpSessions()
    sess.add_server(idpname, 'https://127.0.0.10:45080', user, 'ipsilon')
    sess.add_server(sp['name'], spurl)

    with TC.case('Authenticate to IdP'):
        sess.auth_to_idp(idpname)

    with TC.case('Add SP Metadata to IdP'):
        sess.add_sp_metadata(idpname, sp['name'])

    with TC.case('Test default mapping and attrs'):
        expect = {
            'NAME_ID': user,
            'fullname': 'Test User %s' % user,
            'surname': user,
            'givenname': u'Test User 一',
            'email': '*****@*****.**' % user,
            'groups': user,
        }
        check_info_plugin(sess, idpname, spurl, expect)

    with TC.case('Set default global mapping'):
        sess.set_attributes_and_mapping(
            idpname,
示例#6
0
    # SP.
    sess = HttpSessions()
    sess.add_server(idpname, 'https://127.0.0.10:45080', user, 'ipsilon')
    sess.add_server(sp['name'], spurl)

    print "testmapping: Authenticate to IDP ...",
    try:
        sess.auth_to_idp(idpname)
    except Exception, e:  # pylint: disable=broad-except
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    print "testmapping: Add SP Metadata to IDP ...",
    try:
        sess.add_sp_metadata(idpname, sp['name'])
    except Exception, e:  # pylint: disable=broad-except
        print >> sys.stderr, " ERROR: %s" % repr(e)
        sys.exit(1)
    print " SUCCESS"

    try:
        print "testmapping: Test default mapping and attrs ...",
        expect = {
            'NAME_ID': user,
            'fullname': 'Test User %s' % user,
            'surname': user,
            'givenname': u'Test User 一',
            'email': '*****@*****.**' % user,
            'groups': user,
        }