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
|
# frozen_string_literal: true
FactoryBot.define do
factory :audit_event, class: 'SecurityEvent', aliases: [:user_audit_event] do
user
transient { target_user { create(:user) } }
entity_type { 'User' }
entity_id { target_user.id }
entity_path { target_user.full_path }
target_details { target_user.name }
ip_address { IPAddr.new '127.0.0.1' }
author_name { 'Jane Doe' }
details do
{
change: 'email address',
from: 'admin@gitlab.com',
to: 'maintainer@gitlab.com',
author_name: user.name,
target_id: target_user.id,
target_type: 'User',
target_details: target_user.name,
ip_address: '127.0.0.1',
entity_path: target_user.full_path
}
end
trait :project_event do
transient { target_project { create(:project) } }
entity_type { 'Project' }
entity_id { target_project.id }
entity_path { target_project.full_path }
target_details { target_project.name }
ip_address { IPAddr.new '127.0.0.1' }
details do
{
change: 'packges_enabled',
from: true,
to: false,
author_name: user.name,
target_id: target_project.id,
target_type: 'Project',
target_details: target_project.name,
ip_address: '127.0.0.1',
entity_path: target_project.full_path
}
end
end
trait :group_event do
transient { target_group { create(:group) } }
entity_type { 'Group' }
entity_id { target_group.id }
entity_path { target_group.full_path }
target_details { target_group.name }
ip_address { IPAddr.new '127.0.0.1' }
details do
{
change: 'project_creation_level',
from: nil,
to: 'Developers + Maintainers',
author_name: user.name,
target_id: target_group.id,
target_type: 'Group',
target_details: target_group.name,
ip_address: '127.0.0.1',
entity_path: target_group.full_path
}
end
end
factory :project_audit_event, traits: [:project_event]
factory :group_audit_event, traits: [:group_event]
end
end
|