def get_test_cases() -> Dict[str, dict]:
    """Return test cases (code, whether expected to fail)"""
    return {
        "1 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "2 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "3 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "4 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "5 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "6 Infinite loop: Should be forcibly terminated": {
            "code": """
def main():
    while True:
        pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "7 Normal test: Python without dependencies": {
            "code": """
def main():
    return {"data": "hello, world"}
            """,
            "should_fail": False,
            "arguments": {},
            "language": "python",
        },
        "8 Normal test: Python with pandas, should pass without any error": {
            "code": """
import pandas as pd

def main():
    data = {'Name': ['Alice', 'Bob', 'Charlie'],
            'Age': [25, 30, 35]}
    df = pd.DataFrame(data)
            """,
            "should_fail": False,
            "arguments": {},
            "language": "python",
        },
        "9 Normal test: Nodejs without dependencies, should pass without any error": {
            "code": """
const https = require('https');

async function main(args) {
  return new Promise((resolve, reject) => {
    const req = https.get('https://example.com/', (res) => {
      let data = '';

      res.on('data', (chunk) => {
        data += chunk;
      });

      res.on('end', () => {
        clearTimeout(timeout);
        console.log('Body:', data);
        resolve(data);
      });
    });

    const timeout = setTimeout(() => {
      req.destroy(new Error('Request timeout after 10s'));
    }, 10000);

    req.on('error', (err) => {
      clearTimeout(timeout);
      console.error('Error:', err.message);
      reject(err);
    });
  });
}

module.exports = { main };
            """,
            "should_fail": False,
            "arguments": {},
            "language": "nodejs",
        },
        "10 Normal test: Nodejs with axios, should pass without any error": {
            "code": """
const axios = require('axios');

async function main(args) {
  try {
    const response = await axios.get('https://example.com/', {
      timeout: 10000
    });
    console.log('Body:', response.data);
  } catch (error) {
    console.error('Error:', error.message);
  }
}

module.exports = { main };
            """,
            "should_fail": False,
            "arguments": {},
            "language": "nodejs",
        },
        "11 Dangerous import: Should fail due to os module import": {
            "code": """
import os

def main():
    pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "12 Dangerous import from subprocess: Should fail due to subprocess import": {
            "code": """
from subprocess import Popen

def main():
    pass
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "13 Dangerous call: Should fail due to eval function call": {
            "code": """
def main():
    eval('os.system("echo hello")')
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "14 Dangerous attribute access: Should fail due to shutil.rmtree": {
            "code": """
import shutil

def main():
    shutil.rmtree('/some/path')
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "15 Dangerous binary operation: Should fail due to unsafe concatenation leading to eval": {
            "code": """
def main():
    dangerous_string = "os." + "system"
    eval(dangerous_string + '("echo hello")')
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "16 Dangerous function definition: Should fail due to user-defined eval function": {
            "code": """
def eval_function():
    eval('os.system("echo hello")')

def main():
    eval_function()
            """,
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
        "17 Memory exhaustion(256m): Should fail due to exceeding memory limit(try to allocate 300m)": {
            "code": """
def main():
    x = ['a' * 1024 * 1024] * 300  # 300MB
""",
            "should_fail": True,
            "arguments": {},
            "language": "python",
        },
    }
Return test cases (code, whether expected to fail)
sandbox/tests/sandbox_security_tests_full.py