def test_authorize_guest1(session): ''' authorize_guest with invalid parameters ''' site1 = Wifisite.query.filter_by(unifi_id='site1').first() site1.auth_method = AUTH_TYPE_SOCIAL + AUTH_TYPE_SMS + AUTH_TYPE_EMAIL +AUTH_TYPE_VOUCHER mac = randomMAC() ap_mac1 = randomMAC() url1 = get_guest_url(site1,mac,ap_mac1,1) #invalid guestrack id check_404(url_for('guest.authorize_guest',track_id=str(uuid.uuid4()))) #test valid trackid but no device track_id = str(uuid.uuid4()) guest_track = Guesttrack(ap_mac=ap_mac1,device_mac=mac,site=site1,state=GUESTRACK_INIT,orig_url='',track_id=track_id) db.session.add(guest_track) db.session.commit() check_404(url_for('guest.authorize_guest',track_id=track_id)) #Create device but not authorized guest_device = Device(mac=mac,site=site1,state=DEVICE_INIT) site1.devices.append(guest_device) db.session.add(guest_device) guest_track.state = GUESTRACK_NO_AUTH guest_device.state = DEVICE_AUTH db.session.commit() check_404(url_for('guest.authorize_guest',track_id=track_id)) #ensure that no sessions are created assert 0 == Guestsession.query.count(),"Guestsessions are created even though authorize_guest is not called properly"
def test_authorize_guest1(session): """ authorize_guest with invalid parameters """ site1 = Wifisite.query.filter_by(unifi_id="site1").first() site1.auth_method = AUTH_TYPE_SOCIAL + AUTH_TYPE_SMS + AUTH_TYPE_EMAIL + AUTH_TYPE_VOUCHER mac = randomMAC() ap_mac1 = randomMAC() url1 = get_guest_url(site1, mac, ap_mac1, 1) # invalid guestrack id check_404(url_for("guest.authorize_guest", track_id=str(uuid.uuid4()))) # test valid trackid but no device track_id = str(uuid.uuid4()) guest_track = Guesttrack( ap_mac=ap_mac1, device_mac=mac, site=site1, state=GUESTRACK_INIT, orig_url="", track_id=track_id ) db.session.add(guest_track) db.session.commit() check_404(url_for("guest.authorize_guest", track_id=track_id)) # Create device but not authorized guest_device = Device(mac=mac, site=site1, state=DEVICE_INIT) site1.devices.append(guest_device) db.session.add(guest_device) guest_track.state = GUESTRACK_NO_AUTH guest_device.state = DEVICE_AUTH db.session.commit() check_404(url_for("guest.authorize_guest", track_id=track_id)) # ensure that no sessions are created assert ( 0 == Guestsession.query.count() ), "Guestsessions are created even though authorize_guest is not called properly"
def test_social_login1(session): '''Social login test with valid invalid values of guest_track and guest session and authorized device ''' device_mac = '00:de:ad:be:ef:da' ap_mac = '00:22:00:00:00:01' site = Wifisite.query.filter_by(unifi_id='site1').first() #invalid track ID assert '404 NOT FOUND' == current_app.test_client().get( '/guest/social/guest/67yte7ey51wy167w2816i2351835').status #test valid trackid but no session track_id = str(uuid.uuid4()) guest_track = Guesttrack(ap_mac=ap_mac, device_mac=device_mac, site=site, state=GUESTRACK_INIT, orig_url='', track_id=track_id) db.session.add(guest_track) db.session.commit() assert '404 NOT FOUND' == current_app.test_client().get( '/guest/social/guest/%s' % track_id).status #create session but no device guest_session = Guestsession(mac=device_mac, state=SESSION_INIT, site=site) db.session.add(guest_session) site.sessions.append(guest_session) guest_track.session = guest_session guest_session.guesttracks.append(guest_track) guest_track.state = GUESTRACK_SESSION db.session.commit() assert '404 NOT FOUND' == current_app.test_client().get( '/guest/social/guest/%s' % track_id).status #with session and authorized device guest_device = Device(mac=device_mac, site=site, state=DEVICE_INIT) site.devices.append(guest_device) db.session.add(guest_device) guest_device.sessions.append(guest_session) guest_device.state = DEVICE_AUTH db.session.commit() assert '302 FOUND' == current_app.test_client().get( '/guest/social/guest/%s' % track_id).status assert guest_session.state == SESSION_AUTHORIZED assert guest_track.state == GUESTRACK_SOCIAL_PREAUTH
def test_social_login1(session): '''Social login test with valid invalid values of guest_track and guest session and authorized device ''' device_mac = '00:de:ad:be:ef:da' ap_mac = '00:22:00:00:00:01' site = Wifisite.query.filter_by(unifi_id='site1').first() #invalid track ID assert '404 NOT FOUND' == current_app.test_client().get('/guest/social/guest/67yte7ey51wy167w2816i2351835').status #test valid trackid but no session track_id = str(uuid.uuid4()) guest_track = Guesttrack(ap_mac=ap_mac,device_mac=device_mac,site=site,state=GUESTRACK_INIT,orig_url='',track_id=track_id) db.session.add(guest_track) db.session.commit() assert '404 NOT FOUND' == current_app.test_client().get('/guest/social/guest/%s'%track_id).status #create session but no device guest_session = Guestsession(mac=device_mac,state=SESSION_INIT,site=site) db.session.add(guest_session) site.sessions.append(guest_session) guest_track.session = guest_session guest_session.guesttracks.append(guest_track) guest_track.state = GUESTRACK_SESSION db.session.commit() assert '404 NOT FOUND' == current_app.test_client().get('/guest/social/guest/%s'%track_id).status #with session and authorized device guest_device = Device(mac=device_mac,site=site,state=DEVICE_INIT) site.devices.append(guest_device) db.session.add(guest_device) guest_device.sessions.append(guest_session) guest_device.state = DEVICE_AUTH db.session.commit() assert '302 FOUND' == current_app.test_client().get('/guest/social/guest/%s'%track_id).status assert guest_session.state == SESSION_AUTHORIZED assert guest_track.state == GUESTRACK_SOCIAL_PREAUTH