Files
2026-07-13 12:47:58 +08:00

65 lines
2.0 KiB
TypeScript

import { assert, describe } from 'vitest'
import { CommandExitError } from '../../src'
import { sandboxTest, isDebug } from '../setup.js'
describe('internet access enabled', () => {
sandboxTest.scoped({
sandboxOpts: {
allowInternetAccess: true,
},
})
sandboxTest.skipIf(isDebug)(
'internet access enabled',
async ({ sandbox }) => {
// Test internet connectivity by making a curl request to a reliable external site
const result = await sandbox.commands.run(
"curl -s -o /dev/null -w '%{http_code}' https://connectivitycheck.gstatic.com/generate_204"
)
assert.equal(result.exitCode, 0)
assert.equal(result.stdout.trim(), '204')
}
)
})
describe('internet access disabled', () => {
sandboxTest.scoped({
sandboxOpts: {
allowInternetAccess: false,
},
})
sandboxTest.skipIf(isDebug)(
'internet access disabled',
async ({ sandbox }) => {
// Test that internet connectivity is blocked by making a curl request
try {
await sandbox.commands.run(
'curl --connect-timeout 3 --max-time 5 -Is https://connectivitycheck.gstatic.com/generate_204'
)
// If we reach here, the command succeeded, which means internet access is not properly disabled
assert.fail('Expected command to fail when internet access is disabled')
} catch (error) {
// The command should fail or timeout when internet access is disabled
assert.isTrue(error instanceof CommandExitError)
assert.notEqual(error.exitCode, 0)
}
}
)
})
describe('internet access default', () => {
sandboxTest.skipIf(isDebug)(
'internet access default',
async ({ sandbox }) => {
// Test internet connectivity by making a curl request to a reliable external site
const result = await sandbox.commands.run(
"curl -s -o /dev/null -w '%{http_code}' https://connectivitycheck.gstatic.com/generate_204"
)
assert.equal(result.exitCode, 0)
assert.equal(result.stdout.trim(), '204')
}
)
})