add test for implicit creation of a fork in an organization

This commit is contained in:
Earl Warren 2023-11-01 17:03:35 +01:00
parent 26490da8d2
commit 84c7b12c83
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
4 changed files with 72 additions and 5 deletions

View file

@ -33,7 +33,7 @@ function user_curl() {
function user_token() {
local username=$1 name=$2
curl -sS -f -H Content-Type:application/json --user "$username:${options[password]}" --data '{"name":"'$name'","scopes":["write:repository","write:issue","read:user"]}' ${options[url]}/api/v1/users/$username/tokens | jq --raw-output .sha1 | tee $TMPDIR/$username/repo-token
curl -sS -f -H Content-Type:application/json --user "$username:${options[password]}" --data '{"name":"'$name'","scopes":["write:repository","write:issue","read:organization","read:user"]}' ${options[url]}/api/v1/users/$username/tokens | jq --raw-output .sha1 | tee $TMPDIR/$username/repo-token
}
function user_secret() {
@ -206,14 +206,14 @@ function fixture() {
orgs_delete
user_create user3 user3@example.com
log_verbose create organization destination-fork
user_curl user3 api_json --data '{"username":"destination-fork"}' ${options[url]}/api/v1/orgs
user_create user2 user2@example.com
log_verbose push tests/${destination} repository to user2/${destination}
forgejo-test-helper.sh push tests/${destination} http://user2:admin1234@${options[host_port]} user2 ${destination}
user_create user3 user3@example.com
log_verbose create organization destination-fork
user_curl user3 api_json --data '{"username":"destination-fork"}' ${options[url]}/api/v1/orgs
user_create user1 user1@example.com
log_verbose push tests/${origin} repository to user1/${origin}
forgejo-test-helper.sh push tests/${origin} http://user1:admin1234@${options[host_port]} user1 ${origin} cascading-pr
@ -293,6 +293,32 @@ function create_in_destination_fork_and_close() {
wait_success ${options[url]}/api/v1/repos/user1/origin-fork-destination $(cat $TMPDIR/user1-origin-fork-destination.sha)
}
function create_in_existing_destination_fork_and_close() {
fixture origin-organization-fork-destination destinationrepo
user_secret user1 DESTINATION_TOKEN $(user_token user3 DESTINATION_TOKEN)
log_verbose fork user2/destinationrepo to destination-fork/destinationrepo
user_curl user3 api_json --data '{"organization":"destination-fork"}' ${options[url]}/api/v1/repos/user2/destinationrepo/forks
create_pull_request_case1 user1 user1 origin-organization-fork-destination
wait_success ${options[url]}/api/v1/repos/user1/origin-organization-fork-destination $(cat $TMPDIR/user1-origin-organization-fork-destination.sha)
has_cascade_pull_request
close_pull_request origin-organization-fork-destination
wait_success ${options[url]}/api/v1/repos/user1/origin-organization-fork-destination $(cat $TMPDIR/user1-origin-organization-fork-destination.sha)
}
function create_in_organization_destination_fork_and_close() {
fixture origin-organization-fork-destination destinationrepo
user_secret user1 DESTINATION_TOKEN $(user_token user3 DESTINATION_TOKEN)
create_pull_request_case1 user1 user1 origin-organization-fork-destination
wait_success ${options[url]}/api/v1/repos/user1/origin-organization-fork-destination $(cat $TMPDIR/user1-origin-organization-fork-destination.sha)
has_cascade_pull_request
close_pull_request origin-organization-fork-destination
wait_success ${options[url]}/api/v1/repos/user1/origin-organization-fork-destination $(cat $TMPDIR/user1-origin-organization-fork-destination.sha)
}
function create_and_merge_close() {
fixture originrepo-close-merge destinationrepo
user_secret user1 DESTINATION_TOKEN $(user_token user2 DESTINATION_TOKEN)