diaspora_federation-test 0.0.12 → 0.0.13
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/diaspora_federation/test.rb +0 -47
- data/lib/diaspora_federation/test/factories.rb +32 -23
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9499524c854db4efe1a050de1a31b81367d46636
|
4
|
+
data.tar.gz: 250bbaf16de1b756777d2d5f6d55c48be51c3a37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec1957eef8d63640e3f7b83984427094862d0669f930a02520c3d35ad286bf2b28352d4008e5ca26dc554743c517c3e68fb048b88af1aa3ce831446e805b27f3
|
7
|
+
data.tar.gz: 5b875304bd33102d38916c68f5381605922cb85fb5eff75b00aff1fd5a2030520d0d82853839070e737d8163f7c594431ad8555c49aa713bbec216043f61c7b9
|
@@ -3,52 +3,5 @@ require "diaspora_federation/test/factories"
|
|
3
3
|
module DiasporaFederation
|
4
4
|
# This module encapsulates helper functions maybe wanted by a testsuite of a diaspora_federation gem user application
|
5
5
|
module Test
|
6
|
-
# Sort hash according to an entity class's property sequence.
|
7
|
-
# This is used for rspec tests in order to generate correct input hash to
|
8
|
-
# compare results with.
|
9
|
-
#
|
10
|
-
# @param [Hash] data input hash for sorting
|
11
|
-
# @param [Entity.Class] klass entity type to sort according to
|
12
|
-
# @return [Hash] sorted hash
|
13
|
-
def self.sort_hash(data, klass)
|
14
|
-
Hash[klass.class_props.map { |prop|
|
15
|
-
[prop[:name], data[prop[:name]]] unless data[prop[:name]].nil?
|
16
|
-
}.compact]
|
17
|
-
end
|
18
|
-
|
19
|
-
# Generates attributes for entity constructor with correct signatures in it
|
20
|
-
#
|
21
|
-
# @param [Symbol] factory_name the factory to generate attributes for (normally entity name)
|
22
|
-
# @return [Hash] hash with correct signatures
|
23
|
-
def self.relayable_attributes_with_signatures(factory_name)
|
24
|
-
klass = FactoryGirl.factory_by_name(factory_name).build_class
|
25
|
-
sort_hash(FactoryGirl.attributes_for(factory_name), klass).tap do |data|
|
26
|
-
DiasporaFederation::Entities::Relayable.update_signatures!(data, klass)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# Generates attributes for signed retraction entity constructor with correct signatures in it
|
31
|
-
#
|
32
|
-
# @return [Hash] hash with correct signatures
|
33
|
-
def self.signed_retraction_attributes_with_signatures
|
34
|
-
sort_hash(FactoryGirl.attributes_for(:signed_retraction_entity), Entities::SignedRetraction).tap do |data|
|
35
|
-
Entities::SignedRetraction.update_signatures!(data)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
# Generates attributes for relayable retraction entity constructor with correct signatures in it
|
40
|
-
#
|
41
|
-
# @return [Hash] hash with correct signatures
|
42
|
-
def self.relayable_retraction_attributes_with_signatures
|
43
|
-
sort_hash(
|
44
|
-
FactoryGirl.attributes_for(
|
45
|
-
:relayable_retraction_entity,
|
46
|
-
target_author_signature: "false sig"
|
47
|
-
),
|
48
|
-
Entities::RelayableRetraction
|
49
|
-
).tap do |data|
|
50
|
-
Entities::RelayableRetraction.update_signatures!(data)
|
51
|
-
end
|
52
|
-
end
|
53
6
|
end
|
54
7
|
end
|
@@ -3,7 +3,9 @@ require "factory_girl"
|
|
3
3
|
|
4
4
|
module DiasporaFederation
|
5
5
|
module Test
|
6
|
+
# Factories for federation entities
|
6
7
|
module Factories
|
8
|
+
# defines the federation entity factories
|
7
9
|
def self.federation_factories
|
8
10
|
FactoryGirl.define do
|
9
11
|
initialize_with { new(attributes) }
|
@@ -40,16 +42,16 @@ module DiasporaFederation
|
|
40
42
|
|
41
43
|
factory :person_entity, class: DiasporaFederation::Entities::Person do
|
42
44
|
guid
|
43
|
-
diaspora_id
|
45
|
+
author { generate(:diaspora_id) }
|
44
46
|
url "http://localhost:3000/"
|
45
47
|
exported_key { generate(:public_key) }
|
46
48
|
profile {
|
47
|
-
FactoryGirl.build(:profile_entity,
|
49
|
+
FactoryGirl.build(:profile_entity, author: author)
|
48
50
|
}
|
49
51
|
end
|
50
52
|
|
51
53
|
factory :profile_entity, class: DiasporaFederation::Entities::Profile do
|
52
|
-
diaspora_id
|
54
|
+
author { generate(:diaspora_id) }
|
53
55
|
first_name "my name"
|
54
56
|
last_name nil
|
55
57
|
image_url "/assets/user/default.png"
|
@@ -72,7 +74,7 @@ module DiasporaFederation
|
|
72
74
|
|
73
75
|
factory :photo_entity, class: DiasporaFederation::Entities::Photo do
|
74
76
|
guid
|
75
|
-
diaspora_id
|
77
|
+
author { generate(:diaspora_id) }
|
76
78
|
public(true)
|
77
79
|
created_at { Time.now.utc }
|
78
80
|
remote_photo_path "https://diaspora.example.tld/uploads/images/"
|
@@ -89,84 +91,91 @@ module DiasporaFederation
|
|
89
91
|
|
90
92
|
factory :participation_entity,
|
91
93
|
class: DiasporaFederation::Entities::Participation, parent: :relayable_entity do
|
94
|
+
author { generate(:diaspora_id) }
|
92
95
|
guid
|
93
|
-
|
94
|
-
diaspora_id
|
96
|
+
parent_type "Post"
|
95
97
|
end
|
96
98
|
|
97
99
|
factory :status_message_entity, class: DiasporaFederation::Entities::StatusMessage do
|
98
100
|
raw_message "i am a very interesting status update"
|
101
|
+
author { generate(:diaspora_id) }
|
99
102
|
guid
|
100
|
-
diaspora_id
|
101
103
|
public(true)
|
102
104
|
created_at { Time.now.utc }
|
103
105
|
end
|
104
106
|
|
105
107
|
factory :request_entity, class: DiasporaFederation::Entities::Request do
|
106
|
-
|
107
|
-
|
108
|
+
author { generate(:diaspora_id) }
|
109
|
+
recipient { generate(:diaspora_id) }
|
110
|
+
end
|
111
|
+
|
112
|
+
factory :contact_entity, class: DiasporaFederation::Entities::Contact do
|
113
|
+
author { generate(:diaspora_id) }
|
114
|
+
recipient { generate(:diaspora_id) }
|
115
|
+
following true
|
116
|
+
sharing true
|
108
117
|
end
|
109
118
|
|
110
119
|
factory :comment_entity, class: DiasporaFederation::Entities::Comment, parent: :relayable_entity do
|
120
|
+
author { generate(:diaspora_id) }
|
111
121
|
guid
|
112
122
|
text "this is a very informative comment"
|
113
|
-
diaspora_id
|
114
123
|
end
|
115
124
|
|
116
125
|
factory :like_entity, class: DiasporaFederation::Entities::Like, parent: :relayable_entity do
|
117
126
|
positive true
|
127
|
+
author { generate(:diaspora_id) }
|
118
128
|
guid
|
119
|
-
|
120
|
-
diaspora_id
|
129
|
+
parent_type "Post"
|
121
130
|
end
|
122
131
|
|
123
132
|
factory :account_deletion_entity, class: DiasporaFederation::Entities::AccountDeletion do
|
124
|
-
diaspora_id
|
133
|
+
author { generate(:diaspora_id) }
|
125
134
|
end
|
126
135
|
|
127
136
|
factory :conversation_entity, class: DiasporaFederation::Entities::Conversation do
|
137
|
+
author { generate(:diaspora_id) }
|
128
138
|
guid
|
129
139
|
subject "this is a very informative subject"
|
130
140
|
created_at { Time.now.utc }
|
131
141
|
messages []
|
132
|
-
diaspora_id
|
133
|
-
participant_ids { 3.times.map { generate(:diaspora_id) }.join(";") }
|
142
|
+
participants { Array.new(3) { generate(:diaspora_id) }.join(";") }
|
134
143
|
end
|
135
144
|
|
136
145
|
factory :message_entity, class: DiasporaFederation::Entities::Message, parent: :relayable_entity do
|
137
146
|
guid
|
147
|
+
author { generate(:diaspora_id) }
|
138
148
|
text "this is a very informative text"
|
139
149
|
created_at { Time.now.utc }
|
140
|
-
diaspora_id
|
141
150
|
conversation_guid { generate(:guid) }
|
142
151
|
end
|
143
152
|
|
144
153
|
factory :relayable_retraction_entity, class: DiasporaFederation::Entities::RelayableRetraction do
|
154
|
+
author { generate(:diaspora_id) }
|
145
155
|
target_guid { generate(:guid) }
|
146
156
|
target_type "Comment"
|
147
|
-
diaspora_id
|
148
157
|
end
|
149
158
|
|
150
159
|
factory :reshare_entity, class: DiasporaFederation::Entities::Reshare do
|
151
|
-
|
160
|
+
root_author { generate(:diaspora_id) }
|
152
161
|
root_guid { generate(:guid) }
|
153
162
|
guid
|
154
|
-
diaspora_id
|
163
|
+
author { generate(:diaspora_id) }
|
155
164
|
public(true)
|
156
165
|
created_at { Time.now.utc }
|
157
166
|
provider_display_name { "the testsuite" }
|
158
167
|
end
|
159
168
|
|
160
169
|
factory :retraction_entity, class: DiasporaFederation::Entities::Retraction do
|
170
|
+
author { generate(:diaspora_id) }
|
161
171
|
target_guid { generate(:guid) }
|
162
|
-
diaspora_id
|
163
172
|
target_type "Post"
|
164
173
|
end
|
165
174
|
|
166
175
|
factory :signed_retraction_entity, class: DiasporaFederation::Entities::SignedRetraction do
|
176
|
+
author { generate(:diaspora_id) }
|
167
177
|
target_guid { generate(:guid) }
|
168
178
|
target_type "Post"
|
169
|
-
diaspora_id
|
170
179
|
end
|
171
180
|
|
172
181
|
factory :poll_answer_entity, class: DiasporaFederation::Entities::PollAnswer do
|
@@ -177,13 +186,13 @@ module DiasporaFederation
|
|
177
186
|
factory :poll_entity, class: DiasporaFederation::Entities::Poll do
|
178
187
|
guid
|
179
188
|
question { "Select an answer" }
|
180
|
-
poll_answers { 3
|
189
|
+
poll_answers { Array.new(3) { FactoryGirl.build(:poll_answer_entity) } }
|
181
190
|
end
|
182
191
|
|
183
192
|
factory :poll_participation_entity,
|
184
193
|
class: DiasporaFederation::Entities::PollParticipation, parent: :relayable_entity do
|
194
|
+
author { generate(:diaspora_id) }
|
185
195
|
guid
|
186
|
-
diaspora_id
|
187
196
|
poll_answer_guid { generate(:guid) }
|
188
197
|
end
|
189
198
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: diaspora_federation-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Neff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: diaspora_federation
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.
|
19
|
+
version: 0.0.13
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.
|
26
|
+
version: 0.0.13
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: factory_girl
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|