diff --git a/tests/first_run.v b/tests/first_run.v index 2169d04d..833fada5 100644 --- a/tests/first_run.v +++ b/tests/first_run.v @@ -35,19 +35,34 @@ fn main() { test_user_page(test_username) test_login_with_token(test_username, token) test_static_served() + test_oauth_page() test_create_repo(token, 'test1', '') assert get_repo_commit_count(token, test_username, 'test1', default_branch) == 0 assert get_repo_issue_count(token, test_username, 'test1') == 0 assert get_repo_branch_count(token, test_username, 'test1') == 0 - test_create_repo(token, 'test2', test_github_repo_url) + repo_name := 'test2' + test_create_repo(token, repo_name, test_github_repo_url) // wait while repo is cloning - time.sleep(3 * time.second) + time.sleep(5 * time.second) // get repo - assert get_repo_commit_count(token, test_username, 'test2', test_github_repo_primary_branch) > 0 - assert get_repo_issue_count(token, test_username, 'test2') == 0 - assert get_repo_branch_count(token, test_username, 'test2') > 0 + assert get_repo_commit_count(token, test_username, repo_name, test_github_repo_primary_branch) > 0 + assert get_repo_issue_count(token, test_username, repo_name) == 0 + assert get_repo_branch_count(token, test_username, repo_name) > 0 + test_repo_page(test_username, repo_name) + test_branch_page(test_username, repo_name, test_github_repo_primary_branch) + test_repos_page(test_username) + test_repo_settings_page(test_username, repo_name) + test_contributors_page(test_username, repo_name) + // test_issues_page(test_username) + test_stars_page(test_username) + test_settings_page(test_username) + test_commits_page(test_username, repo_name, test_github_repo_primary_branch) + test_branches_page(test_username, repo_name) + test_repo_tree(test_username, repo_name, test_github_repo_primary_branch, 'c') + // test_refs_page(test_username, repo_name) + // test_api_branches_count(test_username, repo_name) ilog("all tests passed!") after()! @@ -188,6 +203,114 @@ fn test_user_page(username string) { assert user_page_result.body.contains('

${username}

') } +fn test_repo_page(username string, repo_name string) { + ilog('Testing the new repo /${username}/${repo_name} page is up') + repo_page_result := http.get(prepare_url("${username}/${repo_name}")) or { exit_with_message(err.str()) } + + assert repo_page_result.status_code == 200 +} + +fn test_branch_page(username string, repo_name string, branch_name string) { + ilog('Testing the new branch /${username}/${repo_name}/tree/${branch_name} page is up') + branch_page_result := http.get(prepare_url("${username}/${repo_name}/tree/${branch_name}")) or { exit_with_message(err.str()) } + + assert branch_page_result.status_code == 200 +} + +fn test_repos_page(username string) { + ilog('Testing the new repos /${username}/repos page is up') + repos_page_result := http.get(prepare_url("${username}/repos")) or { exit_with_message(err.str()) } + + assert repos_page_result.status_code == 200 +} + +fn test_contributors_page(username string, repo_name string) { + ilog('Testing the new contributors /${username}/${repo_name}/contributors page is up') + contributors_page_result := http.get(prepare_url("${username}/${repo_name}/contributors")) or { exit_with_message(err.str()) } + + assert contributors_page_result.status_code == 200 +} + +fn test_commits_page(username string, repo_name string, branch_name string) { + ilog('Testing the new commits /${username}/${repo_name}/${branch_name}/commits/1 page is up') + // Doesn't work with commits/[no 1] + commits_page_result := http.get(prepare_url("${username}/${repo_name}/${branch_name}/commits/1")) or { exit_with_message(err.str()) } + + assert commits_page_result.status_code == 200 +} + +fn test_branches_page(username string, repo_name string) { + ilog('Testing the new branches /${username}/${repo_name}/branches page is up') + branches_page_result := http.get(prepare_url("${username}/${repo_name}/branches")) or { exit_with_message(err.str()) } + + assert branches_page_result.status_code == 200 +} + +fn test_api_branches_count(username string, repo_name string) { + ilog('Testing if api/v1/${username}/${repo_name}/branches/count works') + api_branches_count_result := http.get(prepare_url("api/v1/${username}/${repo_name}/branches/count")) or { exit_with_message(err.str()) } + // api_branches_count_result := http.fetch( + // method: .get + // url: prepare_url("api/v1/${username}/${repo_name}/branches/count") + // ) or { exit_with_message(err.str()) } + + assert api_branches_count_result.status_code == 200 + + response_json := json.decode(api.ApiBranchCount, api_branches_count_result.body) or { + exit_with_message(err.str()) + } + assert response_json.result > 0 +} + +fn test_refs_page(username string, repo_name string) { + ilog('Testing the new refs /${username}/${repo_name}/info/refs page is up') + refs_page_result := http.get(prepare_url("${username}/${repo_name}/info/refs")) or { exit_with_message(err.str()) } + + assert refs_page_result.status_code == 200 +} + +fn test_oauth_page() { + ilog('Testing the new oauth /oauth page is up') + oauth_page_result := http.get(prepare_url("oauth")) or { exit_with_message(err.str()) } + + assert oauth_page_result.status_code == 200 +} + +fn test_repo_tree(username string, repo_name string, branch_name string, path string) { + ilog('Testing the new tree /${username}/${repo_name}/tree/${branch_name}/${path} page is up') + repo_tree_result := http.get(prepare_url("${username}/${repo_name}/tree/${branch_name}/${path}")) or { exit_with_message(err.str()) } + + assert repo_tree_result.status_code == 200 +} +// fn test_issues_page(username string) { +// test_endpoint_page("${username}/issues", 'issues') +// } + +fn test_stars_page(username string) { + ilog("Testing the new stars /${username}/stars page is up") + stars_page_result := http.get(prepare_url("${username}/stars")) or { exit_with_message(err.str()) } + + assert stars_page_result.status_code == 200 +} + +fn test_settings_page(username string) { + ilog('Testing the new settings /${username}/settings page is up') + settings_page_result := http.get(prepare_url("${username}/settings")) or { exit_with_message(err.str()) } + + assert settings_page_result.status_code == 200 +} + +fn test_repo_settings_page(username string, repo_name string) { + test_endpoint_page("${username}/${repo_name}/settings", 'settings') +} + +fn test_endpoint_page(endpoint string, pagename string) { + ilog('Testing the new ${pagename} /${endpoint} page is up') + endpoint_result := http.get(prepare_url("${endpoint}")) or { exit_with_message(err.str()) } + + assert endpoint_result.status_code == 200 +} + fn test_login_with_token(username string, token string) { ilog('Try to login in with `${username}` user token')