From 4dd9a5c46e5c6ccbc1c7ae20903fbfccb1e7ea7a Mon Sep 17 00:00:00 2001
From: Corey Osman <corey@logicminds.biz>
Date: Thu, 12 Nov 2020 05:44:13 +0000
Subject: [PATCH] Add object templates for generating new facts

  * previously pdk did not support creating facts.  Now that
    it does we need the proper object templates to support generating
    facts and fact test files.
---
 object_templates/fact.erb      |  6 ++++++
 object_templates/fact_spec.erb | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 object_templates/fact.erb
 create mode 100644 object_templates/fact_spec.erb

diff --git a/object_templates/fact.erb b/object_templates/fact.erb
new file mode 100644
index 0000000..23b9290
--- /dev/null
+++ b/object_templates/fact.erb
@@ -0,0 +1,6 @@
+Facter.add(:<%= name %>) do
+  # https://puppet.com/docs/puppet/6.19/fact_overview.html
+  setcode do
+     'hello facter'
+  end
+end
diff --git a/object_templates/fact_spec.erb b/object_templates/fact_spec.erb
new file mode 100644
index 0000000..7fad22f
--- /dev/null
+++ b/object_templates/fact_spec.erb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+require 'facter'
+require 'facter/<%= name %>'
+
+describe :'<%= name %>', type: :fact do
+  subject(:fact) { Facter.fact(:'<%= name %>') }
+
+  before :all do
+    # perform any action that should be run for the entire test suite
+  end
+
+  before :each do
+    # perform any action that should be run before every test
+    Facter.clear
+  end
+
+  it 'should return a value' do
+    expect(fact.value).to eq('hello facter')  
+  end
+end
-- 
GitLab