chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import { expect } from 'vitest'
|
||||
|
||||
import { sandboxTest } from '../../setup.js'
|
||||
import {
|
||||
cleanupBaseDir,
|
||||
createBaseDir,
|
||||
createRepo,
|
||||
startGitDaemon,
|
||||
} from './helpers.js'
|
||||
|
||||
sandboxTest(
|
||||
'git remoteGet returns undefined for missing remote',
|
||||
async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepo(sandbox, baseDir)
|
||||
const missingUrl = await sandbox.git.remoteGet(repoPath, 'origin')
|
||||
expect(missingUrl).toBeUndefined()
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
sandboxTest('git remoteAdd adds remote', async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepo(sandbox, baseDir)
|
||||
const daemon = await startGitDaemon(sandbox, baseDir)
|
||||
|
||||
try {
|
||||
await sandbox.git.remoteAdd(repoPath, 'origin', daemon.remoteUrl)
|
||||
const remoteUrl = await sandbox.git.remoteGet(repoPath, 'origin')
|
||||
expect(remoteUrl).toBe(daemon.remoteUrl)
|
||||
} finally {
|
||||
await daemon.handle.kill()
|
||||
}
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
})
|
||||
|
||||
sandboxTest('git remoteAdd overwrites existing remote', async ({ sandbox }) => {
|
||||
const baseDir = await createBaseDir(sandbox)
|
||||
|
||||
try {
|
||||
const repoPath = await createRepo(sandbox, baseDir)
|
||||
const daemon = await startGitDaemon(sandbox, baseDir)
|
||||
|
||||
try {
|
||||
await sandbox.git.remoteAdd(repoPath, 'origin', daemon.remoteUrl)
|
||||
const currentUrl = (
|
||||
await sandbox.commands.run(`git -C "${repoPath}" remote get-url origin`)
|
||||
).stdout.trim()
|
||||
const currentRemote = await sandbox.git.remoteGet(repoPath, 'origin')
|
||||
expect(currentUrl).toBe(daemon.remoteUrl)
|
||||
expect(currentRemote).toBe(daemon.remoteUrl)
|
||||
|
||||
const secondPath = `${baseDir}/remote-2.git`
|
||||
await sandbox.commands.run(
|
||||
`git init --bare --initial-branch=main "${secondPath}"`
|
||||
)
|
||||
const secondUrl = `git://127.0.0.1:${daemon.port}/remote-2.git`
|
||||
|
||||
await sandbox.git.remoteAdd(repoPath, 'origin', secondUrl, {
|
||||
overwrite: true,
|
||||
})
|
||||
const updatedUrl = (
|
||||
await sandbox.commands.run(`git -C "${repoPath}" remote get-url origin`)
|
||||
).stdout.trim()
|
||||
const updatedRemote = await sandbox.git.remoteGet(repoPath, 'origin')
|
||||
expect(updatedUrl).toBe(secondUrl)
|
||||
expect(updatedRemote).toBe(secondUrl)
|
||||
} finally {
|
||||
await daemon.handle.kill()
|
||||
}
|
||||
} finally {
|
||||
await cleanupBaseDir(sandbox, baseDir)
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user