Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 1f43e06

Browse filesBrowse files
authored
Update AssistantTest (TheoKanning#427)
Fixed issue with deleteAssistantFile API method Added file test cases Added shared Assistant and AssistantFiles Improved cleanup only deletes resources for this test
1 parent 3d60d6e commit 1f43e06
Copy full SHA for 1f43e06

File tree

Expand file treeCollapse file tree

3 files changed

+67
-82
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+67
-82
lines changed

‎client/src/main/java/com/theokanning/openai/client/OpenAiApi.java

Copy file name to clipboardExpand all lines: client/src/main/java/com/theokanning/openai/client/OpenAiApi.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ public interface OpenAiApi {
233233

234234
@Headers({"OpenAI-Beta: assistants=v1"})
235235
@GET("/v1/assistants/{assistant_id}/files")
236-
Single<OpenAiResponse<Assistant>> listAssistantFiles(@Path("assistant_id") String assistantId, @QueryMap Map<String, Object> filterRequest);
236+
Single<OpenAiResponse<AssistantFile>> listAssistantFiles(@Path("assistant_id") String assistantId, @QueryMap Map<String, Object> filterRequest);
237237

238238
@Headers({"OpenAI-Beta: assistants=v1"})
239239
@POST("/v1/threads")

‎service/src/main/java/com/theokanning/openai/service/OpenAiService.java

Copy file name to clipboardExpand all lines: service/src/main/java/com/theokanning/openai/service/OpenAiService.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@ public DeleteResult deleteAssistantFile(String assistantId, String fileId) {
401401
return execute(api.deleteAssistantFile(assistantId, fileId));
402402
}
403403

404-
public OpenAiResponse<Assistant> listAssistantFiles(String assistantId, ListSearchParameters params) {
404+
public OpenAiResponse<AssistantFile> listAssistantFiles(String assistantId, ListSearchParameters params) {
405405
Map<String, Object> queryParameters = mapper.convertValue(params, new TypeReference<Map<String, Object>>() {
406406
});
407407
return execute(api.listAssistantFiles(assistantId, queryParameters));

‎service/src/test/java/com/theokanning/openai/service/AssistantTest.java

Copy file name to clipboardExpand all lines: service/src/test/java/com/theokanning/openai/service/AssistantTest.java
+65-80Lines changed: 65 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -6,57 +6,68 @@
66
import com.theokanning.openai.assistants.*;
77
import com.theokanning.openai.file.File;
88
import com.theokanning.openai.utils.TikTokensUtil;
9-
import org.junit.jupiter.api.AfterAll;
10-
import org.junit.jupiter.api.Test;
9+
import org.junit.jupiter.api.*;
1110

1211
import java.util.Collections;
1312
import java.util.List;
1413

1514
import static org.junit.jupiter.api.Assertions.*;
1615

1716

17+
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
1818
public class AssistantTest {
19-
public static final String MATH_TUTOR = "Math Tutor";
20-
public static final String ASSISTANT_INSTRUCTION = "You are a personal Math Tutor.";
2119

22-
static String token = System.getenv("OPENAI_TOKEN");;
20+
static OpenAiService service = new OpenAiService(System.getenv("OPENAI_TOKEN"));
21+
static String assistantId;
22+
static String fileId;
2323

24-
static OpenAiService service = new OpenAiService(token);
2524

26-
@Test
27-
void retrieveAssistant() {
28-
Assistant createAssistantResponse = createAndValidateAssistant();
29-
30-
Assistant retrieveAssistantResponse = service.retrieveAssistant(createAssistantResponse.getId());
31-
validateAssistantResponse(retrieveAssistantResponse);
25+
@AfterAll
26+
static void teardown() {
27+
try {
28+
service.deleteAssistantFile(assistantId, fileId);
29+
} catch (Exception e) {
30+
// do nothing
31+
}
32+
try {
33+
service.deleteAssistant(assistantId);
34+
} catch (Exception e) {
35+
// do nothing
36+
}
3237
}
3338

3439
@Test
35-
void modifyAssistant() {
36-
Assistant createAssistantResponse = createAndValidateAssistant();
40+
@Order(1)
41+
void createAssistant() {
42+
AssistantRequest assistantRequest = AssistantRequest.builder().model(TikTokensUtil.ModelEnum.GPT_4_1106_preview.getName()).name("Math Tutor").instructions("You are a personal Math Tutor.").tools(Collections.singletonList(new Tool(AssistantToolsEnum.CODE_INTERPRETER, null))).build();
43+
Assistant assistant = service.createAssistant(assistantRequest);
3744

38-
String modifiedName = MATH_TUTOR + "Modified";
39-
ModifyAssistantRequest modifyRequest = ModifyAssistantRequest.builder()
40-
.name(modifiedName)
41-
.build();
45+
assistantId = assistant.getId();
4246

43-
Assistant modifiedAssistantResponse = service.modifyAssistant(createAssistantResponse.getId(), modifyRequest);
44-
assertNotNull(modifiedAssistantResponse);
45-
assertEquals(modifiedName, modifiedAssistantResponse.getName());
47+
assertEquals(assistant.getName(), "Math Tutor");
48+
assertEquals(assistant.getTools().get(0).getType(), AssistantToolsEnum.CODE_INTERPRETER);
4649
}
4750

4851
@Test
49-
void deleteAssistant() {
50-
Assistant createAssistantResponse = createAndValidateAssistant();
52+
@Order(2)
53+
void retrieveAssistant() {
54+
Assistant assistant = service.retrieveAssistant(assistantId);
5155

52-
DeleteResult deletedAssistant = service.deleteAssistant(createAssistantResponse.getId());
56+
assertEquals(assistant.getName(), "Math Tutor");
57+
}
5358

54-
assertNotNull(deletedAssistant);
55-
assertEquals(createAssistantResponse.getId(), deletedAssistant.getId());
56-
assertTrue(deletedAssistant.isDeleted());
59+
@Test
60+
@Order(3)
61+
void modifyAssistant() {
62+
String modifiedName = "Science Tutor";
63+
ModifyAssistantRequest modifyRequest = ModifyAssistantRequest.builder().name(modifiedName).build();
64+
65+
Assistant modifiedAssistant = service.modifyAssistant(assistantId, modifyRequest);
66+
assertEquals(modifiedName, modifiedAssistant.getName());
5767
}
5868

5969
@Test
70+
@Order(4)
6071
void listAssistants() {
6172
OpenAiResponse<Assistant> assistants = service.listAssistants(ListSearchParameters.builder().build());
6273

@@ -65,79 +76,53 @@ void listAssistants() {
6576
}
6677

6778
@Test
79+
@Order(5)
6880
void createAssistantFile() {
69-
File uploadedFile = uploadAssistantFile();
70-
71-
Assistant assistant = createAndValidateAssistant();
81+
String filePath = "src/test/resources/assistants-data.html";
82+
File uploadedFile = service.uploadFile("assistants", filePath);
7283

73-
AssistantFile assistantFile = service.createAssistantFile(assistant.getId(), new AssistantFileRequest(uploadedFile.getId()));
84+
AssistantFile assistantFile = service.createAssistantFile(assistantId, new AssistantFileRequest(uploadedFile.getId()));
7485

86+
fileId = assistantFile.getId();
7587
assertNotNull(assistantFile);
7688
assertEquals(uploadedFile.getId(), assistantFile.getId());
77-
assertEquals(assistant.getId(), assistantFile.getAssistantId());
89+
assertEquals(assistantId, assistantFile.getAssistantId());
7890
}
7991

8092
@Test
93+
@Order(6)
8194
void retrieveAssistantFile() {
82-
//TODO
83-
//There is a bug with uploading assistant files https://community.openai.com/t/possible-bug-with-agent-creation-php-file-upload/484490/5
84-
//So this would have to be done later
85-
}
95+
AssistantFile file = service.retrieveAssistantFile(assistantId, fileId);
8696

87-
@Test
88-
void deleteAssistantFile() {
89-
//TODO
90-
//There is a bug with uploading assistant files https://community.openai.com/t/possible-bug-with-agent-creation-php-file-upload/484490/5
91-
//So this would have to be done later
97+
assertEquals(file.getId(), fileId);
9298
}
9399

100+
94101
@Test
102+
@Order(7)
95103
void listAssistantFiles() {
96-
//TODO
97-
//There is a bug with uploading assistant files https://community.openai.com/t/possible-bug-with-agent-creation-php-file-upload/484490/5
98-
//So this would have to be done later
99-
}
100-
101-
@AfterAll
102-
static void clean() {
103-
//Clean up all data created during this test
104-
ListSearchParameters queryFilter = ListSearchParameters.builder()
105-
.limit(100)
106-
.build();
107-
OpenAiResponse<Assistant> assistantListAssistant = service.listAssistants(queryFilter);
108-
assistantListAssistant.getData().forEach(assistant ->{
109-
service.deleteAssistant(assistant.getId());
110-
});
111-
}
104+
List<AssistantFile> files = service.listAssistantFiles(assistantId, new ListSearchParameters()).data;
112105

113-
private static File uploadAssistantFile() {
114-
String filePath = "src/test/resources/assistants-data.html";
115-
return service.uploadFile("assistants", filePath);
106+
assertFalse(files.isEmpty());
107+
assertEquals(files.get(0).getId(), fileId);
108+
assertEquals(files.get(0).getObject(), "assistant.file");
116109
}
117110

118-
private static Assistant createAndValidateAssistant() {
119-
AssistantRequest assistantRequest = assistantStub();
120-
Assistant createAssistantResponse = service.createAssistant(assistantRequest);
121-
validateAssistantResponse(createAssistantResponse);
111+
@Test
112+
@Order(8)
113+
void deleteAssistantFile() {
114+
DeleteResult deletedFile = service.deleteAssistantFile(assistantId, fileId);
122115

123-
return createAssistantResponse;
116+
assertEquals(deletedFile.getId(), fileId);
117+
assertTrue(deletedFile.isDeleted());
124118
}
125119

126-
private static AssistantRequest assistantStub() {
127-
return AssistantRequest.builder()
128-
.model(TikTokensUtil.ModelEnum.GPT_4_1106_preview.getName())
129-
.name(MATH_TUTOR)
130-
.instructions(ASSISTANT_INSTRUCTION)
131-
.tools(Collections.singletonList(new Tool(AssistantToolsEnum.CODE_INTERPRETER, null)))
132-
.build();
133-
}
120+
@Test
121+
@Order(9)
122+
void deleteAssistant() {
123+
DeleteResult deletedAssistant = service.deleteAssistant(assistantId);
134124

135-
private static void validateAssistantResponse(Assistant assistantResponse) {
136-
assertNotNull(assistantResponse);
137-
assertNotNull(assistantResponse.getId());
138-
assertNotNull(assistantResponse.getCreatedAt());
139-
assertNotNull(assistantResponse.getObject());
140-
assertEquals(assistantResponse.getTools().get(0).getType(), AssistantToolsEnum.CODE_INTERPRETER);
141-
assertEquals(MATH_TUTOR, assistantResponse.getName());
125+
assertEquals(assistantId, deletedAssistant.getId());
126+
assertTrue(deletedAssistant.isDeleted());
142127
}
143128
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.