aylien_text_api 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +28 -0
- data/LICENSE +13 -0
- data/README.md +67 -0
- data/Rakefile +8 -0
- data/aylien_text_api.gemspec +24 -0
- data/config/app_config.yml.example +7 -0
- data/lib/aylien_text_api.rb +23 -0
- data/lib/aylien_text_api/client.rb +246 -0
- data/lib/aylien_text_api/configuration.rb +57 -0
- data/lib/aylien_text_api/connection.rb +71 -0
- data/lib/aylien_text_api/error.rb +110 -0
- data/lib/aylien_text_api/version.rb +17 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_text.yml +48 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_valid_url.yml +98 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_value_as_text.yml +48 -0
- data/spec/fixtures/aylien_text_api/client/classify_with_value_as_valid_url.yml +98 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_text.yml +44 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_valid_url.yml +63 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_text.yml +44 -0
- data/spec/fixtures/aylien_text_api/client/concepts_with_value_as_valid_url.yml +63 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_text.yml +43 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_valid_url.yml +302 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_value_as_text.yml +43 -0
- data/spec/fixtures/aylien_text_api/client/entities_with_value_as_valid_url.yml +302 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_valid_url.yml +185 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_value_as_text.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/extract_with_value_as_valid_url.yml +185 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_text.yml +48 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_valid_url.yml +58 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_text.yml +48 -0
- data/spec/fixtures/aylien_text_api/client/hashtags_with_value_as_valid_url.yml +58 -0
- data/spec/fixtures/aylien_text_api/client/language_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/language_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/language_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/language_with_valid_text.yml +41 -0
- data/spec/fixtures/aylien_text_api/client/language_with_valid_url.yml +57 -0
- data/spec/fixtures/aylien_text_api/client/language_with_value_as_text.yml +41 -0
- data/spec/fixtures/aylien_text_api/client/language_with_value_as_valid_url.yml +57 -0
- data/spec/fixtures/aylien_text_api/client/related_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/related_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/related_with_phrase.yml +60 -0
- data/spec/fixtures/aylien_text_api/client/related_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/related_with_value_as_phrase.yml +60 -0
- data/spec/fixtures/aylien_text_api/client/related_with_value_as_valid_url.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_invalid_params.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_text.yml +53 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_valid_url.yml +57 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_text.yml +53 -0
- data/spec/fixtures/aylien_text_api/client/sentiment_with_value_as_valid_url.yml +57 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_client.yml +36 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_invalid_params.yml +41 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_title_and_text.yml +78 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_unauthenticated_client.yml +40 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_valid_url.yml +65 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_title.yml +78 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_text_and_without_title.yml +41 -0
- data/spec/fixtures/aylien_text_api/client/summarize_with_value_as_valid_url.yml +65 -0
- data/spec/lib/aylien_text_api/classify.rb +86 -0
- data/spec/lib/aylien_text_api/client_spec.rb +23 -0
- data/spec/lib/aylien_text_api/concepts.rb +81 -0
- data/spec/lib/aylien_text_api/entities.rb +81 -0
- data/spec/lib/aylien_text_api/extract.rb +81 -0
- data/spec/lib/aylien_text_api/hashtags.rb +87 -0
- data/spec/lib/aylien_text_api/language.rb +79 -0
- data/spec/lib/aylien_text_api/related.rb +80 -0
- data/spec/lib/aylien_text_api/sentiment.rb +91 -0
- data/spec/lib/aylien_text_api/summarize.rb +95 -0
- data/spec/spec_helper.rb +16 -0
- metadata +193 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
describe "Entities endpoint" do
|
|
2
|
+
before do
|
|
3
|
+
@url = "http://www.businessinsider.com/carl-icahn-open-letter-to-apple-2014-1"
|
|
4
|
+
@text = %q(Barack Hussein Obama II is the 44th and current
|
|
5
|
+
President of the United States, and the first
|
|
6
|
+
African American to hold the office.)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "shouldn't be nil with valid url" do
|
|
10
|
+
VCR.use_cassette('entities_with_valid_url') do
|
|
11
|
+
result = @client.entities(url: @url)
|
|
12
|
+
result.wont_be_nil
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "shouldn't be nil with text" do
|
|
17
|
+
VCR.use_cassette('entities_with_text') do
|
|
18
|
+
result = @client.entities(text: @text)
|
|
19
|
+
result.wont_be_nil
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "shouldn't be nil with value as valid url" do
|
|
24
|
+
VCR.use_cassette('entities_with_value_as_valid_url') do
|
|
25
|
+
result = @client.entities(@url)
|
|
26
|
+
result.wont_be_nil
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "shouldn't be nil with value as text" do
|
|
31
|
+
VCR.use_cassette('entities_with_value_as_text') do
|
|
32
|
+
result = @client.entities(@text)
|
|
33
|
+
result.wont_be_nil
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "should be nil with unauthenticated client" do
|
|
38
|
+
VCR.use_cassette('entities_with_unauthenticated_client') do
|
|
39
|
+
result = @unauthenticated_client.entities(text: @text)
|
|
40
|
+
result.must_be_nil
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
45
|
+
VCR.use_cassette('entities_with_unauthenticated_client') do
|
|
46
|
+
proc {
|
|
47
|
+
@unauthenticated_client.entities!(text: @text)
|
|
48
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
it "should be nil with invalid client" do
|
|
53
|
+
VCR.use_cassette('entities_with_invalid_client') do
|
|
54
|
+
result = @invalid_client.entities(text: @text)
|
|
55
|
+
result.must_be_nil
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it "should raise Forbidden with invalid client" do
|
|
60
|
+
VCR.use_cassette('entities_with_invalid_client') do
|
|
61
|
+
proc {
|
|
62
|
+
@invalid_client.entities!(text: @text)
|
|
63
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "should be nil with invalid params" do
|
|
68
|
+
VCR.use_cassette('entities_with_invalid_params') do
|
|
69
|
+
result = @client.entities(wrong_param: @text)
|
|
70
|
+
result.must_be_nil
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it "should raise BadRequest with invalid params" do
|
|
75
|
+
VCR.use_cassette('entities_with_invalid_params') do
|
|
76
|
+
proc {
|
|
77
|
+
@client.entities!(wrong_param: @text)
|
|
78
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
describe "Extract endpoint" do
|
|
2
|
+
before do
|
|
3
|
+
@url = "http://www.bbc.com/sport/0/football/30180206"
|
|
4
|
+
@text = %q(The oil-rich billionaires of the Gulf have planted
|
|
5
|
+
a flag at the heart of the sporting landscape in recent years.)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "shouldn't be nil with valid url" do
|
|
9
|
+
VCR.use_cassette('extract_with_valid_url') do
|
|
10
|
+
result = @client.extract(url: @url)
|
|
11
|
+
result.wont_be_nil
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "shouldn't be nil with value as valid url" do
|
|
16
|
+
VCR.use_cassette('extract_with_value_as_valid_url') do
|
|
17
|
+
result = @client.extract(@url)
|
|
18
|
+
result.wont_be_nil
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "should be nil with invalid params" do
|
|
23
|
+
VCR.use_cassette('extract_with_invalid_params') do
|
|
24
|
+
result = @client.extract(text: @text)
|
|
25
|
+
result.must_be_nil
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should be nil with value as text" do
|
|
30
|
+
VCR.use_cassette('extract_with_value_as_text') do
|
|
31
|
+
result = @client.extract(@text)
|
|
32
|
+
result.must_be_nil
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "should be nil with unauthenticated client" do
|
|
37
|
+
VCR.use_cassette('extract_with_unauthenticated_client') do
|
|
38
|
+
result = @unauthenticated_client.extract(url: @url)
|
|
39
|
+
result.must_be_nil
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
44
|
+
VCR.use_cassette('extract_with_unauthenticated_client') do
|
|
45
|
+
proc {
|
|
46
|
+
@unauthenticated_client.extract!(url: @url)
|
|
47
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it "should be nil with invalid client" do
|
|
52
|
+
VCR.use_cassette('extract_with_invalid_client') do
|
|
53
|
+
result = @invalid_client.extract(url: @url)
|
|
54
|
+
result.must_be_nil
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it "should raise Forbidden with invalid client" do
|
|
59
|
+
VCR.use_cassette('extract_with_invalid_client') do
|
|
60
|
+
proc {
|
|
61
|
+
@invalid_client.extract!(url: @url)
|
|
62
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
it "should raise BadRequest with value as text" do
|
|
67
|
+
VCR.use_cassette('extract_with_value_as_text') do
|
|
68
|
+
proc {
|
|
69
|
+
@client.extract!(@text)
|
|
70
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it "should raise BadRequest with invalid params" do
|
|
75
|
+
VCR.use_cassette('extract_with_invalid_params') do
|
|
76
|
+
proc {
|
|
77
|
+
@client.extract!(wrong_param: @text)
|
|
78
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
describe "Hashtags endpoint" do
|
|
4
|
+
before do
|
|
5
|
+
@url = "http://www.bbc.com/sport/0/football/25912393"
|
|
6
|
+
@text = %q(The Google Cast SDK is simple to integrate because there’s no
|
|
7
|
+
need to write a new app. Just incorporate the SDK into your existing
|
|
8
|
+
mobile and web apps to bring your content to the TV. You are in
|
|
9
|
+
control of how and when you develop and publish your cast-ready
|
|
10
|
+
apps through the Google Cast developer console.
|
|
11
|
+
The SDK is available on Android and iOS as well as on Chrome
|
|
12
|
+
through the Google Cast browser extension.)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "shouldn't be nil with valid url" do
|
|
16
|
+
VCR.use_cassette('hashtags_with_valid_url') do
|
|
17
|
+
result = @client.hashtags(url: @url)
|
|
18
|
+
result.wont_be_nil
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "shouldn't be nil with text" do
|
|
23
|
+
VCR.use_cassette('hashtags_with_text') do
|
|
24
|
+
result = @client.hashtags(text: @text)
|
|
25
|
+
result.wont_be_nil
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "shouldn't be nil with value as text" do
|
|
30
|
+
VCR.use_cassette('hashtags_with_value_as_text') do
|
|
31
|
+
result = @client.hashtags(@text)
|
|
32
|
+
result.wont_be_nil
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "shouldn't be nil with value as valid url" do
|
|
37
|
+
VCR.use_cassette('hashtags_with_value_as_valid_url') do
|
|
38
|
+
result = @client.hashtags(@url)
|
|
39
|
+
result.wont_be_nil
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it "should be nil with unauthenticated client" do
|
|
44
|
+
VCR.use_cassette('hashtags_with_unauthenticated_client') do
|
|
45
|
+
result = @unauthenticated_client.hashtags(text: @text)
|
|
46
|
+
result.must_be_nil
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
51
|
+
VCR.use_cassette('hashtags_with_unauthenticated_client') do
|
|
52
|
+
proc {
|
|
53
|
+
@unauthenticated_client.hashtags!(text: @text)
|
|
54
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
it "should be nil with invalid client" do
|
|
59
|
+
VCR.use_cassette('hashtags_with_invalid_client') do
|
|
60
|
+
result = @invalid_client.hashtags(text: @text)
|
|
61
|
+
result.must_be_nil
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should raise Forbidden with invalid client" do
|
|
66
|
+
VCR.use_cassette('hashtags_with_invalid_client') do
|
|
67
|
+
proc {
|
|
68
|
+
@invalid_client.hashtags!(text: @text)
|
|
69
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "should be nil with invalid params" do
|
|
74
|
+
VCR.use_cassette('hashtags_with_invalid_params') do
|
|
75
|
+
result = @client.hashtags(wrong_param: @text)
|
|
76
|
+
result.must_be_nil
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
it "should raise BadRequest with invalid params" do
|
|
81
|
+
VCR.use_cassette('hashtags_with_invalid_params') do
|
|
82
|
+
proc {
|
|
83
|
+
@client.hashtags!(wrong_param: @text)
|
|
84
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
describe "Language endpoint" do
|
|
2
|
+
before do
|
|
3
|
+
@url = "http://www.bbc.com/sport/0/football/25912393"
|
|
4
|
+
@text = %q(Hello there! How's it going?)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "shouldn't be nil with valid url" do
|
|
8
|
+
VCR.use_cassette('language_with_valid_url') do
|
|
9
|
+
result = @client.language(url: @url)
|
|
10
|
+
result.wont_be_nil
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "shouldn't be nil with valid text" do
|
|
15
|
+
VCR.use_cassette('language_with_valid_text') do
|
|
16
|
+
result = @client.language(text: @text)
|
|
17
|
+
result.wont_be_nil
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it "shouldn't be nil with value as text" do
|
|
22
|
+
VCR.use_cassette('language_with_value_as_text') do
|
|
23
|
+
result = @client.language(@text)
|
|
24
|
+
result.wont_be_nil
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "shouldn't be nil with value as valid url" do
|
|
29
|
+
VCR.use_cassette('language_with_value_as_valid_url') do
|
|
30
|
+
result = @client.language(@url)
|
|
31
|
+
result.wont_be_nil
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "should be nil with unauthenticated client" do
|
|
36
|
+
VCR.use_cassette('language_with_unauthenticated_client') do
|
|
37
|
+
result = @unauthenticated_client.language(text: @text)
|
|
38
|
+
result.must_be_nil
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
43
|
+
VCR.use_cassette('language_with_unauthenticated_client') do
|
|
44
|
+
proc {
|
|
45
|
+
@unauthenticated_client.language!(text: @text)
|
|
46
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should be nil with invalid client" do
|
|
51
|
+
VCR.use_cassette('language_with_invalid_client') do
|
|
52
|
+
result = @invalid_client.language(text: @text)
|
|
53
|
+
result.must_be_nil
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "should raise Forbidden with invalid client" do
|
|
58
|
+
VCR.use_cassette('language_with_invalid_client') do
|
|
59
|
+
proc {
|
|
60
|
+
@invalid_client.language!(text: @text)
|
|
61
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should be nil with invalid params" do
|
|
66
|
+
VCR.use_cassette('language_with_invalid_params') do
|
|
67
|
+
result = @client.language(wrong_param: @text)
|
|
68
|
+
result.must_be_nil
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it "should raise BadRequest with invalid params" do
|
|
73
|
+
VCR.use_cassette('language_with_invalid_params') do
|
|
74
|
+
proc {
|
|
75
|
+
@client.language!(wrong_param: @text)
|
|
76
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
describe "Related endpoint" do
|
|
2
|
+
before do
|
|
3
|
+
@phrase = "android"
|
|
4
|
+
@url = "http://www.bbc.com/sport/0/football/25912393"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
it "shouldn't be nil with phrase" do
|
|
8
|
+
VCR.use_cassette('related_with_phrase') do
|
|
9
|
+
result = @client.related(phrase: @phrase)
|
|
10
|
+
result.wont_be_nil
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "shouldn't be nil with value as phrase" do
|
|
15
|
+
VCR.use_cassette('related_with_value_as_phrase') do
|
|
16
|
+
result = @client.related(@phrase)
|
|
17
|
+
result.wont_be_nil
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it "should be nil with value as valid url" do
|
|
22
|
+
VCR.use_cassette('related_with_value_as_valid_url') do
|
|
23
|
+
result = @client.related(@url)
|
|
24
|
+
result.must_be_nil
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should be nil with invalid params" do
|
|
29
|
+
VCR.use_cassette('related_with_invalid_params') do
|
|
30
|
+
result = @client.related(wrong_param: @phrase)
|
|
31
|
+
result.must_be_nil
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it "should be nil with unauthenticated client" do
|
|
36
|
+
VCR.use_cassette('related_with_unauthenticated_client') do
|
|
37
|
+
result = @unauthenticated_client.related(phrase: @phrase)
|
|
38
|
+
result.must_be_nil
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
43
|
+
VCR.use_cassette('related_with_unauthenticated_client') do
|
|
44
|
+
proc {
|
|
45
|
+
@unauthenticated_client.related!(phrase: @phrase)
|
|
46
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should be nil with invalid client" do
|
|
51
|
+
VCR.use_cassette('related_with_invalid_client') do
|
|
52
|
+
result = @invalid_client.related(phrase: @phrase)
|
|
53
|
+
result.must_be_nil
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "should raise Forbidden with invalid client" do
|
|
58
|
+
VCR.use_cassette('related_with_invalid_client') do
|
|
59
|
+
proc {
|
|
60
|
+
@invalid_client.related!(phrase: @phrase)
|
|
61
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should raise BadRequest with value as valid url" do
|
|
66
|
+
VCR.use_cassette('related_with_value_as_valid_url') do
|
|
67
|
+
proc {
|
|
68
|
+
@client.related!(@url)
|
|
69
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "should raise BadRequest with invalid params" do
|
|
74
|
+
VCR.use_cassette('related_with_invalid_params') do
|
|
75
|
+
proc {
|
|
76
|
+
@client.related!(wrong_param: @text)
|
|
77
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
describe "Sentiment endpoint" do
|
|
2
|
+
before do
|
|
3
|
+
@url = "http://www.bbc.com/sport/0/football/25912393"
|
|
4
|
+
@text = %q(I really enjoyed using the Canon Ixus in Madrid.
|
|
5
|
+
The Panasonic Lumix is a poor camera, but the Canon Ixus is really sleek.
|
|
6
|
+
The Canon Ixus is much better than the Panasonic Lumix.
|
|
7
|
+
All I want to do with a camera is point it and then just press the button.
|
|
8
|
+
The Canon Ixus is perfect for that. You will soon get great photos
|
|
9
|
+
with very little effort. I had previously returned a Panasonic Lumix
|
|
10
|
+
because the pictures were not of the quality I expected.
|
|
11
|
+
Spending the money on the Canon was a smart move.
|
|
12
|
+
I would recommend the Ixus to anyone without hesitation.
|
|
13
|
+
Two small issues to be pointed out: firstly, the battery
|
|
14
|
+
life is not fantastic. Also, the zoom is not very powerful.
|
|
15
|
+
If your subject is far away, you should not expect good results.
|
|
16
|
+
Review made by John Irving from Florida.)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it "shouldn't be nil with valid url" do
|
|
20
|
+
VCR.use_cassette('sentiment_with_valid_url') do
|
|
21
|
+
result = @client.sentiment(url: @url)
|
|
22
|
+
result.wont_be_nil
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "shouldn't be nil with text" do
|
|
27
|
+
VCR.use_cassette('sentiment_with_text') do
|
|
28
|
+
result = @client.sentiment(text: @text)
|
|
29
|
+
result.wont_be_nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it "shouldn't be nil with value as text" do
|
|
34
|
+
VCR.use_cassette('sentiment_with_value_as_text') do
|
|
35
|
+
result = @client.sentiment(@text)
|
|
36
|
+
result.wont_be_nil
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
it "shouldn't be nil with value as valid url" do
|
|
41
|
+
VCR.use_cassette('sentiment_with_value_as_valid_url') do
|
|
42
|
+
result = @client.sentiment(@url)
|
|
43
|
+
result.wont_be_nil
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it "should be nil with unauthenticated client" do
|
|
48
|
+
VCR.use_cassette('sentiment_with_unauthenticated_client') do
|
|
49
|
+
result = @unauthenticated_client.sentiment(text: @text)
|
|
50
|
+
result.must_be_nil
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it "should raise Forbidden with unauthenticated client" do
|
|
55
|
+
VCR.use_cassette('sentiment_with_unauthenticated_client') do
|
|
56
|
+
proc {
|
|
57
|
+
@unauthenticated_client.sentiment!(text: @text)
|
|
58
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it "should be nil with invalid client" do
|
|
63
|
+
VCR.use_cassette('sentiment_with_invalid_client') do
|
|
64
|
+
result = @invalid_client.sentiment(text: @text)
|
|
65
|
+
result.must_be_nil
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it "should raise Forbidden with invalid client" do
|
|
70
|
+
VCR.use_cassette('sentiment_with_invalid_client') do
|
|
71
|
+
proc {
|
|
72
|
+
@invalid_client.sentiment!(text: @text)
|
|
73
|
+
}.must_raise AylienTextApi::Error::Forbidden
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it "should be nil with invalid params" do
|
|
78
|
+
VCR.use_cassette('sentiment_with_invalid_params') do
|
|
79
|
+
result = @client.sentiment(wrong_param: @text)
|
|
80
|
+
result.must_be_nil
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it "should raise BadRequest with invalid params" do
|
|
85
|
+
VCR.use_cassette('sentiment_with_invalid_params') do
|
|
86
|
+
proc {
|
|
87
|
+
@client.sentiment!(wrong_param: @text)
|
|
88
|
+
}.must_raise AylienTextApi::Error::BadRequest
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|