onlyoffice_documentserver_testing_framework 2.4.0 → 2.6.0
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 +4 -4
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/doc_test_file_list/doc_test_site_file_list_entry.rb +11 -21
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions/file_reopen_helper.rb +1 -1
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions.rb +19 -2
- data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/integration_example_api.rb +8 -3
- data/lib/onlyoffice_documentserver_testing_framework/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6967c2a133ff6880c81d2ecead2504ad6fcc569282fc44b7321a9b5aa10a4680
|
4
|
+
data.tar.gz: 821bc1465b598a0537bcc9a2904064eedc5941c78f25f348993661707cadcf59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e1d61ea7d92e8277c41c796b93ef367a917ae7b1d815e99cd286f99d1c20d01255d0da237f668aceb2ca513550fbd17717235b212a6c904bac1c2d0ef392277
|
7
|
+
data.tar.gz: eb394dea96fc4b12c51f00c24551b6f6dd152e8365a652b8816827a74bcdf6252ac5339f2acb5025ab435eca6a396ce6df924c9b2e6bb317bd0ad0aced5399e5
|
@@ -18,9 +18,10 @@ class DocTestSiteFileListEntry
|
|
18
18
|
# @return [String] View mode url
|
19
19
|
attr_accessor :view_mode_url
|
20
20
|
|
21
|
-
def initialize(instance, xpath)
|
21
|
+
def initialize(instance, xpath, edit_modes_indexes)
|
22
22
|
@instance = instance
|
23
23
|
@xpath_line = xpath
|
24
|
+
@edit_modes_indexes = edit_modes_indexes
|
24
25
|
@file_name = fetch_file_name
|
25
26
|
@embedded_url = fetch_embedded_url
|
26
27
|
@review_mode_url = fetch_review_mode_url
|
@@ -44,7 +45,7 @@ class DocTestSiteFileListEntry
|
|
44
45
|
|
45
46
|
# @return [String] url on review mode
|
46
47
|
def fetch_review_mode_url
|
47
|
-
xpath_review = "#{@xpath_line}/td[#{
|
48
|
+
xpath_review = "#{@xpath_line}/td[#{@edit_modes_indexes[:review_mode]}]/a"
|
48
49
|
return nil unless @instance.selenium.element_present?(xpath_review)
|
49
50
|
|
50
51
|
url = @instance.selenium.get_attribute(xpath_review, 'href')
|
@@ -54,7 +55,7 @@ class DocTestSiteFileListEntry
|
|
54
55
|
|
55
56
|
# @return [String] url on review mode
|
56
57
|
def fetch_comment_mode_url
|
57
|
-
xpath_comment = "#{@xpath_line}/td[#{
|
58
|
+
xpath_comment = "#{@xpath_line}/td[#{@edit_modes_indexes[:comment_mode]}]/a"
|
58
59
|
return nil unless @instance.selenium.element_present?(xpath_comment)
|
59
60
|
|
60
61
|
url = @instance.selenium.get_attribute(xpath_comment, 'href')
|
@@ -64,7 +65,7 @@ class DocTestSiteFileListEntry
|
|
64
65
|
|
65
66
|
# @return [String] url on fill forms mode
|
66
67
|
def fetch_fill_forms_mode_url
|
67
|
-
xpath_comment = "#{@xpath_line}/td[#{
|
68
|
+
xpath_comment = "#{@xpath_line}/td[#{@edit_modes_indexes[:fill_forms]}]/a"
|
68
69
|
return nil unless @instance.selenium.element_present?(xpath_comment)
|
69
70
|
|
70
71
|
url = @instance.selenium.get_attribute(xpath_comment, 'href')
|
@@ -74,7 +75,7 @@ class DocTestSiteFileListEntry
|
|
74
75
|
|
75
76
|
# @return [String] url on fill forms mode
|
76
77
|
def fetch_only_fill_forms_mode_url
|
77
|
-
link_xpath = "#{@xpath_line}/td[#{
|
78
|
+
link_xpath = "#{@xpath_line}/td[#{@edit_modes_indexes[:only_fill_forms]}]/a"
|
78
79
|
return nil unless @instance.selenium.element_present?(link_xpath)
|
79
80
|
|
80
81
|
url = @instance.selenium.get_attribute(link_xpath, 'href')
|
@@ -84,7 +85,7 @@ class DocTestSiteFileListEntry
|
|
84
85
|
|
85
86
|
# @return [String] url on viewer mode
|
86
87
|
def fetch_view_mode_url
|
87
|
-
xpath_comments = "#{@xpath_line}/td[#{
|
88
|
+
xpath_comments = "#{@xpath_line}/td[#{@edit_modes_indexes[:view_mode]}]/a"
|
88
89
|
return nil unless @instance.selenium.element_present?(xpath_comments)
|
89
90
|
|
90
91
|
url = @instance.selenium.get_attribute(xpath_comments, 'href')
|
@@ -94,22 +95,11 @@ class DocTestSiteFileListEntry
|
|
94
95
|
|
95
96
|
# @return [String] url on embedded file
|
96
97
|
def fetch_embedded_url
|
97
|
-
|
98
|
+
xpath_embedded = "#{@xpath_line}/td[#{@edit_modes_indexes[:embedded]}]/a"
|
99
|
+
return nil unless @instance.selenium.element_present?(xpath_embedded)
|
100
|
+
|
101
|
+
url = @instance.selenium.get_attribute(xpath_embedded, 'href')
|
98
102
|
OnlyofficeLoggerHelper.log("Got embedded #{@xpath_line} url: #{url}")
|
99
103
|
url
|
100
104
|
end
|
101
|
-
|
102
|
-
private
|
103
|
-
|
104
|
-
# Indexes of different modes
|
105
|
-
# @return [Hash] name with index
|
106
|
-
def mode_indexes
|
107
|
-
{
|
108
|
-
comment_mode: 4,
|
109
|
-
review_mode: 5,
|
110
|
-
fill_forms: 7,
|
111
|
-
view_mode: 8,
|
112
|
-
embedded: 10
|
113
|
-
}
|
114
|
-
end
|
115
105
|
end
|
@@ -22,7 +22,7 @@ module OnlyofficeDocumentserverTestingFramework
|
|
22
22
|
file_name = @instance.management.document_name
|
23
23
|
size_before = @instance.integration_example_api.file_data(file_name)['pureContentLength'].to_i
|
24
24
|
@instance.go_to_base_url
|
25
|
-
@instance.webdriver.wait_until(timeout, "File
|
25
|
+
@instance.webdriver.wait_until(timeout, "File `#{file_name}` is built") do
|
26
26
|
file_data = @instance.integration_example_api.file_data(file_name)
|
27
27
|
!file_data.nil? && file_data['pureContentLength'].to_i != size_before
|
28
28
|
end
|
data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/doc_test_site_functions.rb
CHANGED
@@ -13,7 +13,7 @@ class DocTestSiteFunctions
|
|
13
13
|
select_list(:user_list, xpath: '//*[@id="user"]')
|
14
14
|
select_list(:language_list, xpath: '//*[@id="language"]')
|
15
15
|
|
16
|
-
def initialize(instance)
|
16
|
+
def initialize(instance, edit_modes_indexes = default_modes_indexes)
|
17
17
|
super(instance.webdriver.driver)
|
18
18
|
@instance = instance
|
19
19
|
@xpath_begin_view = '//*[@id="beginView"]'
|
@@ -27,6 +27,7 @@ class DocTestSiteFunctions
|
|
27
27
|
'//*[contains(@class, "try-editor cell")]'
|
28
28
|
@xpath_create_presentation = '//*[contains(@class, "try-editor presentation")]|'\
|
29
29
|
'//*[contains(@class, "try-editor slide")]'
|
30
|
+
@edit_modes_indexes = edit_modes_indexes
|
30
31
|
end
|
31
32
|
|
32
33
|
# Waiting for load of page
|
@@ -168,7 +169,9 @@ class DocTestSiteFunctions
|
|
168
169
|
def uploaded_file_list
|
169
170
|
file_list = []
|
170
171
|
(0...uploaded_file_count).each do |current_file_number|
|
171
|
-
file_list << DocTestSiteFileListEntry.new(@instance,
|
172
|
+
file_list << DocTestSiteFileListEntry.new(@instance,
|
173
|
+
"#{@xpath_file_entry}[#{current_file_number + 1}]",
|
174
|
+
@edit_modes_indexes)
|
172
175
|
end
|
173
176
|
DocTestFileList.new(file_list)
|
174
177
|
end
|
@@ -232,4 +235,18 @@ class DocTestSiteFunctions
|
|
232
235
|
"#{file}")
|
233
236
|
.map(&:strip)
|
234
237
|
end
|
238
|
+
|
239
|
+
private
|
240
|
+
|
241
|
+
# Indexes of different modes
|
242
|
+
# @return [Hash] name with index
|
243
|
+
def default_modes_indexes
|
244
|
+
{
|
245
|
+
comment_mode: 4,
|
246
|
+
review_mode: 5,
|
247
|
+
fill_forms: 7,
|
248
|
+
view_mode: 8,
|
249
|
+
embedded: 10
|
250
|
+
}
|
251
|
+
end
|
235
252
|
end
|
data/lib/onlyoffice_documentserver_testing_framework/test_instance_docs/integration_example_api.rb
CHANGED
@@ -36,15 +36,20 @@ module OnlyofficeDocumentserverTestingFramework
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# Delete file on server by name
|
39
|
-
# @param [String] file_name
|
39
|
+
# @param [String] file_name name of file to delete
|
40
|
+
# @param [Integer] sleep_after_delete how much time to sleep after file delete
|
41
|
+
# sometimes it took time to delete this file and it cannot be checked by `file_data`
|
42
|
+
# method, since file will be not created but you get inside old file
|
40
43
|
# @return [nil]
|
41
|
-
def delete_file(file_name)
|
44
|
+
def delete_file(file_name, sleep_after_delete: 3)
|
42
45
|
raise 'File name is not found on server' unless file_data(file_name)
|
43
46
|
|
44
47
|
url = URI::DEFAULT_PARSER.escape("#{@api_endpoint}/file?filename=#{file_name}")
|
45
48
|
request = Net::HTTP::Delete.new(url)
|
46
49
|
response = http_from_url(url).request(request)
|
47
|
-
JSON.parse(response.read_body)
|
50
|
+
result = JSON.parse(response.read_body)
|
51
|
+
sleep(sleep_after_delete)
|
52
|
+
result
|
48
53
|
end
|
49
54
|
|
50
55
|
# Get file data by it's name
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onlyoffice_documentserver_testing_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ONLYOFFICE
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-03-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: onlyoffice_logger_helper
|