1515
1616import com .coze .openapi .api .WorkflowRunAPI ;
1717import com .coze .openapi .api .WorkflowRunHistoryAPI ;
18+ import com .coze .openapi .client .chat .model .ChatUsage ;
1819import com .coze .openapi .client .workflows .run .RunWorkflowReq ;
1920import com .coze .openapi .client .workflows .run .RunWorkflowResp ;
2021import com .coze .openapi .client .workflows .run .model .WorkflowEvent ;
@@ -53,7 +54,7 @@ public class WorkFlowRunServiceTest {
5354 + "\n "
5455 + "id: 5\n "
5556 + "event: Message\n "
56- + "data: {\" content\" :\" {\\ \" output\\ \" :\\ \" 为什么小明要带一把尺子去看电影?因为他听说电影很长,怕坐不下!\\ \" }\" ,\" cost\" :\" 0.00\" ,\" node_is_finish\" :true,\" node_seq_id\" :\" 0\" ,\" node_title\" :\" \" ,\" token\" :1230}\n "
57+ + "data: {\" content\" :\" {\\ \" output\\ \" :\\ \" 为什么小明要带一把尺子去看电影?因为他听说电影很长,怕坐不下!\\ \" }\" ,\" cost\" :\" 0.00\" ,\" node_is_finish\" :true,\" node_seq_id\" :\" 0\" ,\" node_title\" :\" \" ,\" token\" :1230, \" usage \" :{ \" token_count \" :1230, \" input_count \" :615, \" output_count \" :615} }\n "
5758 + "\n "
5859 + "id: 0\n "
5960 + "event: Error\n "
@@ -104,7 +105,11 @@ void parseStreamEventTest() {
104105 5 ,
105106 event ->
106107 event .getEvent ().equals (WorkflowEventType .MESSAGE )
107- && event .getMessage ().getToken ().equals (1230 ))
108+ && event .getMessage ().getToken ().equals (1230 )
109+ && event .getMessage ().getUsage () != null
110+ && event .getMessage ().getUsage ().getTokenCount () == 1230
111+ && event .getMessage ().getUsage ().getInputCount () == 615
112+ && event .getMessage ().getUsage ().getOutputCount () == 615 )
108113 .assertValueAt (
109114 9 ,
110115 event ->
@@ -123,13 +128,16 @@ void testCreate() throws Exception {
123128
124129 RunWorkflowReq req = RunWorkflowReq .builder ().workflowID (workflowID ).build ();
125130
131+ ChatUsage usage = ChatUsage .builder ().tokenCount (100 ).inputCount (50 ).outputCount (50 ).build ();
132+
126133 RunWorkflowResp baseResponse =
127134 RunWorkflowResp .builder ()
128135 .code (0 )
129136 .msg ("success" )
130137 .executeID (executeID )
131138 .logID (Utils .TEST_LOG_ID )
132139 .data ("data" )
140+ .usage (usage )
133141 .build ();
134142
135143 // 创建 mock Call 对象
@@ -143,6 +151,10 @@ void testCreate() throws Exception {
143151 // 验证结果
144152 assertNotNull (result );
145153 assertEquals (executeID , result .getExecuteID ());
154+ assertNotNull (result .getUsage ());
155+ assertEquals (100 , result .getUsage ().getTokenCount ());
156+ assertEquals (50 , result .getUsage ().getInputCount ());
157+ assertEquals (50 , result .getUsage ().getOutputCount ());
146158 }
147159
148160 @ Test
0 commit comments