forked from alexrudall/ruby-openai
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenai_spec.rb
54 lines (47 loc) · 1.74 KB
/
openai_spec.rb
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
RSpec.describe OpenAI do
it "has a version number" do
expect(OpenAI::VERSION).not_to be nil
end
describe "#configure" do
let(:access_token) { "abc123" }
let(:api_version) { "v2" }
let(:organization_id) { "def456" }
let(:custom_uri_base) { "ghi789" }
let(:custom_request_timeout) { 25 }
before do
OpenAI.configure do |config|
config.access_token = access_token
config.api_version = api_version
config.organization_id = organization_id
end
end
it "returns the config" do
expect(OpenAI.configuration.access_token).to eq(access_token)
expect(OpenAI.configuration.api_version).to eq(api_version)
expect(OpenAI.configuration.organization_id).to eq(organization_id)
expect(OpenAI.configuration.uri_base).to eq("https://api.openai.com/")
expect(OpenAI.configuration.request_timeout).to eq(120)
end
context "without an access token" do
let(:access_token) { nil }
it "raises an error" do
expect { OpenAI::Client.new.completions }.to raise_error(OpenAI::ConfigurationError)
end
end
context "with custom timeout and uri base" do
before do
OpenAI.configure do |config|
config.uri_base = custom_uri_base
config.request_timeout = custom_request_timeout
end
end
it "returns the config" do
expect(OpenAI.configuration.access_token).to eq(access_token)
expect(OpenAI.configuration.api_version).to eq(api_version)
expect(OpenAI.configuration.organization_id).to eq(organization_id)
expect(OpenAI.configuration.uri_base).to eq(custom_uri_base)
expect(OpenAI.configuration.request_timeout).to eq(custom_request_timeout)
end
end
end
end