2021-04-17 00:39:21 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2021-04-17 00:39:21 +03:00
2022-09-02 22:18:23 +03:00
package integration
2021-04-17 00:39:21 +03:00
import (
"context"
"fmt"
"net/url"
2021-09-22 08:38:34 +03:00
"os"
2021-04-17 00:39:21 +03:00
"path/filepath"
"testing"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/util"
2022-09-02 22:18:23 +03:00
"code.gitea.io/gitea/tests"
2021-11-17 15:34:35 +03:00
2021-04-17 00:39:21 +03:00
"github.com/stretchr/testify/assert"
)
func assertFileExist ( t * testing . T , p string ) {
exist , err := util . IsExist ( p )
assert . NoError ( t , err )
assert . True ( t , exist )
}
func assertFileEqual ( t * testing . T , p string , content [ ] byte ) {
2021-09-22 08:38:34 +03:00
bs , err := os . ReadFile ( p )
2021-04-17 00:39:21 +03:00
assert . NoError ( t , err )
assert . EqualValues ( t , content , bs )
}
func TestRepoCloneWiki ( t * testing . T ) {
onGiteaRun ( t , func ( t * testing . T , u * url . URL ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2021-04-17 00:39:21 +03:00
2022-09-04 18:14:53 +03:00
dstPath := t . TempDir ( )
2021-04-17 00:39:21 +03:00
r := fmt . Sprintf ( "%suser2/repo1.wiki.git" , u . String ( ) )
u , _ = url . Parse ( r )
u . User = url . UserPassword ( "user2" , userPassword )
t . Run ( "Clone" , func ( t * testing . T ) {
2022-10-23 17:44:45 +03:00
assert . NoError ( t , git . CloneWithArgs ( context . Background ( ) , git . AllowLFSFiltersArgs ( ) , u . String ( ) , dstPath , git . CloneRepoOptions { } ) )
2021-04-17 00:39:21 +03:00
assertFileEqual ( t , filepath . Join ( dstPath , "Home.md" ) , [ ] byte ( "# Home page\n\nThis is the home page!\n" ) )
assertFileExist ( t , filepath . Join ( dstPath , "Page-With-Image.md" ) )
assertFileExist ( t , filepath . Join ( dstPath , "Page-With-Spaced-Name.md" ) )
assertFileExist ( t , filepath . Join ( dstPath , "images" ) )
2024-04-10 20:49:57 +03:00
assertFileExist ( t , filepath . Join ( dstPath , "files/Non-Renderable-File.zip" ) )
2021-04-17 00:39:21 +03:00
assertFileExist ( t , filepath . Join ( dstPath , "jpeg.jpg" ) )
} )
} )
}