Class: PactBroker::DB::SeedExampleData

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/db/seed_example_data.rb

Constant Summary collapse

CONSUMER_NAME =
"Example App"
PROVIDER_NAME =
"Example API"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.callObject



10
11
12
# File 'lib/pact_broker/db/seed_example_data.rb', line 10

def self.call
  new.call
end

Instance Method Details

#call(consumer_name: CONSUMER_NAME, provider_name: PROVIDER_NAME) ⇒ Object



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
# File 'lib/pact_broker/db/seed_example_data.rb', line 14

def call(consumer_name: CONSUMER_NAME, provider_name: PROVIDER_NAME)
  return unless database_empty?
  PactBroker::Test::TestDataBuilder.new
    .create_consumer(consumer_name, created_at: days_ago(16))
    .create_provider(provider_name, created_at: days_ago(16))
    .create_consumer_version("e15da45d3943bf10793a6d04cfb9f5dabe430fe2", created_at: days_ago(16))
    .create_consumer_version_tag("prod", created_at: days_ago(16))
    .create_consumer_version_tag("master", created_at: days_ago(16))
    .create_pact(json_content: pact_1, created_at: days_ago(16))
    .create_verification(provider_version: "1315e0b1924cb6f42751f977789be3559373033a", execution_date: days_ago(15))
    .create_provider_version_tag("master", created_at: days_ago(14))
    .create_provider_version_tag("prod", created_at: days_ago(14))
    .create_verification(provider_version: "480e5aeb30467856ca995d0024d2c1800b0719e5", success: false, number: 2, execution_date: days_ago(14))
    .create_provider_version_tag("master", created_at: days_ago(14))
    .create_consumer_version("725c6ccb7cf7efc51b4394f9828585eea9c379d9", created_at: days_ago(7))
    .create_consumer_version_tag("feat-new-thing", created_at: days_ago(7))
    .create_pact(json_content: pact_2, created_at: days_ago(7))
    .create_consumer_version("7bd4d9173522826dc3e8704fd62dde0424f4c827", created_at: days_ago(1))
    .create_consumer_version_tag("master", created_at: days_ago(1))
    .create_pact(json_content: pact_3, created_at: days_ago(1))
    .create_verification(provider_version: "4fdf20082263d4c5038355a3b734be1c0054d1e1", execution_date: days_ago(1))
    .create_provider_version_tag("master", created_at: days_ago(1))
    .create_consumer_version("5556b8149bf8bac76bc30f50a8a2dd4c22c85f30", created_at: days_ago(0.5))
    .create_consumer_version_tag("master", created_at: days_ago(0.5))
    .republish_same_pact(created_at: days_ago(0.5))
end

#database_empty?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/pact_broker/db/seed_example_data.rb', line 41

def database_empty?
  PactBroker::Pacticipants::Service.find_all_pacticipants.empty?
end

#days_ago(days) ⇒ Object



65
66
67
# File 'lib/pact_broker/db/seed_example_data.rb', line 65

def days_ago(days)
  DateTime.now - days
end

#pact_1Object



45
46
47
# File 'lib/pact_broker/db/seed_example_data.rb', line 45

def pact_1
  seed_data_file("pact_1.json")
end

#pact_2Object



49
50
51
# File 'lib/pact_broker/db/seed_example_data.rb', line 49

def pact_2
  seed_data_file("pact_2.json")
end

#pact_3Object



53
54
55
# File 'lib/pact_broker/db/seed_example_data.rb', line 53

def pact_3
  seed_data_file("pact_3.json")
end

#seed_data_dirObject



57
58
59
# File 'lib/pact_broker/db/seed_example_data.rb', line 57

def seed_data_dir
  File.join(File.dirname(__FILE__), "seed")
end

#seed_data_file(name) ⇒ Object



61
62
63
# File 'lib/pact_broker/db/seed_example_data.rb', line 61

def seed_data_file(name)
  File.read(File.join(seed_data_dir, name))
end