package com.gzzm.lobster.runtime;

import com.gzzm.lobster.common.StreamEventType;
import org.junit.Test;

import java.util.LinkedHashMap;
import java.util.Map;

import static org.junit.Assert.*;

public class StreamEventTest {

    @Test
    public void sseFrameStartsWithEventAndDataLines() {
        Map<String, Object> payload = new LinkedHashMap<>();
        payload.put("threadId", "th_1");
        payload.put("runId", "run_1");
        StreamEvent e = StreamEvent.of(StreamEventType.run_started, payload);
        String frame = e.toSseFrame();
        assertTrue(frame.startsWith("event: run_started\n"));
        assertTrue(frame.contains("data: "));
        assertTrue(frame.endsWith("\n\n"));
    }
}
