65 lines
2.0 KiB
TypeScript
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')
|
|
}
|
|
)
|
|
})
|