Tests pass, let me know of any feedback.

-Erinn

>From a2060b80067badb4818cbba5ca3d0bd263ef71cd Mon Sep 17 00:00:00 2001
From: Erinn Looney-Triggs <[email protected]>
Date: Sun, 18 Dec 2011 22:37:13 -0900
Subject: [PATCH] Create lens and tests for sssd.conf heavily based on mysql
 and php lenses.

---
 lenses/sssd.aug            |   39 +++++++++++++++++++++++++++++++++++++++
 lenses/tests/test_sssd.aug |   43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 0 deletions(-)
 create mode 100644 lenses/sssd.aug
 create mode 100644 lenses/tests/test_sssd.aug

diff --git a/lenses/sssd.aug b/lenses/sssd.aug
new file mode 100644
index 0000000..50d898b
--- /dev/null
+++ b/lenses/sssd.aug
@@ -0,0 +1,39 @@
+(* 
+Module Sssd  
+  Lens for parsing sssd.conf
+
+Author: Erinn Looney-Triggs <[email protected]>
+
+About: License
+  This file is licensed under the LGPLv2+, like the rest of Augeas.
+
+About: Configuration files
+   This lens applies to /etc/sssd/sssd.conf. See <filter>.
+*)
+
+module Sssd =
+  autoload xfm
+
+let comment  = IniFile.comment "#" "#"
+
+let sep      = IniFile.sep "=" "="
+
+let entry    = IniFile.indented_entry IniFile.entry_re sep comment
+
+(* View: title
+    An sssd.conf section title *)
+let title   = IniFile.indented_title_label "target" IniFile.record_label_re
+
+(* View: record
+    An sssd.conf record *)
+let record  = IniFile.record title entry
+
+(* View: lns 
+    The sssd.conf lens *)
+let lns    = ( comment | IniFile.empty )* . (record)* 
+
+(* View: filter *)
+let filter = (incl "/etc/sssd/sssd.conf")
+
+let xfm = transform lns filter
+
diff --git a/lenses/tests/test_sssd.aug b/lenses/tests/test_sssd.aug
new file mode 100644
index 0000000..aaea588
--- /dev/null
+++ b/lenses/tests/test_sssd.aug
@@ -0,0 +1,43 @@
+(*
+Module: Test_sssd
+  Test cases for the sssd lense
+
+Author: Erinn Looney-Triggs
+
+About: License
+  This file is licensed under the LGPLv2+, like the rest of Augeas.
+*)
+module Test_sssd =
+
+let conf = "[domain/example.com]
+#Comment here
+cache_credentials = True
+krb5_store_password_if_offline = True
+ipa_server = _srv_, ipa.example.com
+[sssd]
+services = nss, pam
+config_file_version = 2
+
+domains = example.com
+[nss]
+
+[pam]
+"
+
+test Sssd.lns get conf =
+    { "target" = "domain/example.com" 
+	{ "#comment" = "Comment here" }
+	{ "cache_credentials" = "True" }
+	{ "krb5_store_password_if_offline" = "True" }
+	{ "ipa_server" = "_srv_, ipa.example.com" }
+    }
+    { "target" = "sssd"
+	{ "services" = "nss, pam" }
+	{ "config_file_version" = "2" }
+	{	}
+	{ "domains" = "example.com" }
+    }
+    { "target" = "nss" 
+	{	}
+    }
+    { "target" = "pam" }
-- 
1.7.7.4

_______________________________________________
augeas-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/augeas-devel

Reply via email to