-
-
Notifications
You must be signed in to change notification settings - Fork 139
/
TestFixture_08_Files.cs
92 lines (74 loc) · 2.96 KB
/
TestFixture_08_Files.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using NUnit.Framework;
using OpenAI.FineTuning;
using System;
using System.IO;
using System.Threading.Tasks;
namespace OpenAI.Tests
{
internal class TestFixture_08_Files
{
[Test]
public async Task Test_01_UploadFile()
{
var api = new OpenAIClient(OpenAIAuthentication.LoadFromEnv());
Assert.IsNotNull(api.FilesEndpoint);
File.WriteAllText("test.jsonl", new FineTuningTrainingData("I'm a", "learning language model"));
Assert.IsTrue(File.Exists("test.jsonl"));
var result = await api.FilesEndpoint.UploadFileAsync("test.jsonl", "fine-tune");
Assert.IsNotNull(result);
Assert.IsTrue(result.FileName == "test.jsonl");
Console.WriteLine($"{result.Id} -> {result.Object}");
File.Delete("test.jsonl");
Assert.IsFalse(File.Exists("test.jsonl"));
}
[Test]
public async Task Test_02_ListFiles()
{
var api = new OpenAIClient(OpenAIAuthentication.LoadFromEnv());
Assert.IsNotNull(api.FilesEndpoint);
var result = await api.FilesEndpoint.ListFilesAsync();
Assert.IsNotNull(result);
Assert.IsNotEmpty(result);
foreach (var file in result)
{
var fileInfo = await api.FilesEndpoint.GetFileInfoAsync(file);
Assert.IsNotNull(fileInfo);
Console.WriteLine($"{fileInfo.Id} -> {fileInfo.Object}: {fileInfo.FileName} | {fileInfo.Size} bytes");
}
}
[Test]
public async Task Test_03_DownloadFile()
{
var api = new OpenAIClient(OpenAIAuthentication.LoadFromEnv());
Assert.IsNotNull(api.FilesEndpoint);
var files = await api.FilesEndpoint.ListFilesAsync();
Assert.IsNotNull(files);
Assert.IsNotEmpty(files);
var testFileData = files[0];
var result = await api.FilesEndpoint.DownloadFileAsync(testFileData, Directory.GetCurrentDirectory());
Assert.IsNotNull(result);
Console.WriteLine(result);
Assert.IsTrue(File.Exists(result));
File.Delete(result);
Assert.IsFalse(File.Exists(result));
}
[Test]
public async Task Test_04_DeleteFiles()
{
var api = new OpenAIClient(OpenAIAuthentication.LoadFromEnv());
Assert.IsNotNull(api.FilesEndpoint);
var files = await api.FilesEndpoint.ListFilesAsync();
Assert.IsNotNull(files);
Assert.IsNotEmpty(files);
foreach (var file in files)
{
var result = await api.FilesEndpoint.DeleteFileAsync(file);
Assert.IsTrue(result);
Console.WriteLine($"{file.Id} -> deleted");
}
files = await api.FilesEndpoint.ListFilesAsync();
Assert.IsNotNull(files);
Assert.IsEmpty(files);
}
}
}