# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. import unittest import sys, os, time import json sys.path.append('./') import browser.firefox as firefox import common.shared as shared from cstests.smoketests.smokecfg import smokecfg import cspages.login.loginpage as loginpage import cspages.dashboard.dashboardpage as dashboardpage import cspages.accounts.accountspage as accountspage import cspages.accounts.userspage as userspage # from cstests.smoketests import smokecfg as smokecfg class TestCSDeleteUser(unittest.TestCase): def setUp(self): # Create a new instance of the Firefox browser self.browser = firefox.Firefox('firefox') def tearDown(self): self.browser.quit_browser() def test_success(self): self.browser.set_url(smokecfg['cssite']) self.loginpage = loginpage.LoginPage(self.browser.get_browser()) # wait for at most 5 minutes, in case we have an anoyingly slow server shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'select-language', waittime = 300) # language selection must be done before username and password self.loginpage.set_language(smokecfg['language']) shared.Shared.wait_for_element(self.browser.get_browser(), 'class_name', 'fields', waittime = 300) self.loginpage.set_username(smokecfg['username']) self.loginpage.set_password(smokecfg['password']) self.loginpage.login() shared.Shared.wait_for_element(self.browser.browser, 'id', 'navigation') time.sleep(3) self.dashboardpage = dashboardpage.DashboardPage(self.browser.get_browser()) # navigate to Accounts page self.dashboardpage.navigate_to('accounts') # make sure we are on Accounts page activeitem = self.dashboardpage.get_active_item() if activeitem.find('accounts') < 0: self.assertRaises(ValueError, self.dashboardpage.get_active_item(), activeitem) # now we are at Accounts page self.accountspage = accountspage.AccountsPage(self.browser.get_browser()) self.accountspage.select_account(username = smokecfg['account']['username'], domain = smokecfg['account']['domain'], type = smokecfg['account']['type'], ) # now we are at users page self.userspage = userspage.UsersPage(self.browser.get_browser()) self.userspage.delete_user(username = smokecfg['new user']['username'], firstname = smokecfg['new user']['firstname'], lastname = smokecfg['new user']['lastname'], ) self.loginpage.logout() shared.Shared.wait_for_element(self.browser.browser, 'class_name', 'login') def xtest_failure_8(self): self.browser.set_url(smokecfg['cssite']) self.loginpage = loginpage.LoginPage(self.browser.get_browser()) # language selection must be done before username and password self.loginpage.set_language(smokecfg['language']) self.loginpage.set_username(smokecfg['sqlinjection_5']) self.loginpage.set_password(smokecfg['password']) self.loginpage.login(expect_fail = True) if __name__ == '__main__': unittest.main()