147 lines
4.7 KiB
JSON
147 lines
4.7 KiB
JSON
{
|
|
"info": {
|
|
"name": "Bifrost V1 - Session Stickiness",
|
|
"description": "Session stickiness tests. Validates x-bf-session-id and x-bf-session-ttl headers are accepted.",
|
|
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
|
},
|
|
"variable": [
|
|
{"key": "base_url", "value": "http://localhost:8080", "type": "string"},
|
|
{"key": "provider", "value": "openai", "type": "string"},
|
|
{"key": "chat_model", "value": "gpt-4o", "type": "string"},
|
|
{"key": "session_id", "value": "", "type": "string"}
|
|
],
|
|
"item": [
|
|
{
|
|
"name": "Chat Completion with session ID",
|
|
"event": [
|
|
{
|
|
"listen": "prerequest",
|
|
"script": {
|
|
"type": "text/javascript",
|
|
"exec": [
|
|
"var sid = 'test-session-' + Date.now();",
|
|
"pm.collectionVariables.set('session_id', sid);"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"type": "text/javascript",
|
|
"exec": [
|
|
"pm.test('Status is 2xx', function() { pm.expect(pm.response.code).to.be.within(200, 299); });"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{"key": "Content-Type", "value": "application/json"},
|
|
{"key": "x-bf-session-id", "value": "{{session_id}}"}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"model\": \"{{provider}}/{{chat_model}}\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}],\n \"max_completion_tokens\": 10,\n \"stream\": false\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/v1/chat/completions",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["v1", "chat", "completions"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Chat Completion with same session ID",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"type": "text/javascript",
|
|
"exec": [
|
|
"pm.test('Status is 2xx', function() { pm.expect(pm.response.code).to.be.within(200, 299); });"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{"key": "Content-Type", "value": "application/json"},
|
|
{"key": "x-bf-session-id", "value": "{{session_id}}"}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"model\": \"{{provider}}/{{chat_model}}\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}],\n \"max_completion_tokens\": 10,\n \"stream\": false\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/v1/chat/completions",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["v1", "chat", "completions"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Chat Completion with different session ID",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"type": "text/javascript",
|
|
"exec": [
|
|
"pm.test('Status is 2xx', function() { pm.expect(pm.response.code).to.be.within(200, 299); });"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{"key": "Content-Type", "value": "application/json"},
|
|
{"key": "x-bf-session-id", "value": "test-session-other-{{$timestamp}}"}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"model\": \"{{provider}}/{{chat_model}}\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}],\n \"max_completion_tokens\": 10,\n \"stream\": false\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/v1/chat/completions",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["v1", "chat", "completions"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Chat Completion with session TTL",
|
|
"event": [
|
|
{
|
|
"listen": "test",
|
|
"script": {
|
|
"type": "text/javascript",
|
|
"exec": [
|
|
"pm.test('Status is 2xx', function() { pm.expect(pm.response.code).to.be.within(200, 299); });"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"request": {
|
|
"method": "POST",
|
|
"header": [
|
|
{"key": "Content-Type", "value": "application/json"},
|
|
{"key": "x-bf-session-id", "value": "test-session-ttl"},
|
|
{"key": "x-bf-session-ttl", "value": "60"}
|
|
],
|
|
"body": {
|
|
"mode": "raw",
|
|
"raw": "{\n \"model\": \"{{provider}}/{{chat_model}}\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}],\n \"max_completion_tokens\": 10,\n \"stream\": false\n}"
|
|
},
|
|
"url": {
|
|
"raw": "{{base_url}}/v1/chat/completions",
|
|
"host": ["{{base_url}}"],
|
|
"path": ["v1", "chat", "completions"]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|