From 5e68b108e2013f4d16c6e5bf575f33da969e28d9 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Fri, 29 Apr 2011 09:22:41 +0200 Subject: [PATCH] the model part is functionally final. Structuring, testing, bugfinding and debugging still needed --- SystemDataBackendLdap.rb | 8 ++++++-- test_dummy.rb | 42 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/SystemDataBackendLdap.rb b/SystemDataBackendLdap.rb index b158c6b..aab1c27 100644 --- a/SystemDataBackendLdap.rb +++ b/SystemDataBackendLdap.rb @@ -185,8 +185,12 @@ "cn=#{data[:name]},ou=group,#{ldapBase(kind)}" when :Site "o=#{data[:name]},#{ldapBase(kind)}" - else - "not yet implemented" + when :MailAliasRole + "cn=#{data[:user]},o=#{data[:mail].sub(/.*@/, '')},#{ldapBase(kind)}" + when :MailAliasPerson + "mail=#{data[:mail]},o=#{data[:mail].sub(/.*@/, '')},#{ldapBase(kind)}" + when :MailAccount + "mail=#{data[:mail]},o=#{data[:mail].sub(/.*@/, '')},#{ldapBase(kind)}" end end diff --git a/test_dummy.rb b/test_dummy.rb index 49cd276..33594d9 100644 --- a/test_dummy.rb +++ b/test_dummy.rb @@ -1,9 +1,12 @@ require 'SystemDataBackend' require 'SystemDataBackendLdap' -backend = SystemDataBackend.new( - SystemDataBackendLdap.new('host.one.virtual', 389, 'dc=weird-web-workers,dc=org') +ldap = SystemDataBackendLdap.new( + 'host.one.virtual', + 389, + 'dc=weird-web-workers,dc=org' ) +backend = SystemDataBackend.new(ldap) backend.users.each do |user| puts 'user: '+user.name+','+user.uid+','+user.gid+','+user.home @@ -38,13 +41,13 @@ backend.sites.each do |site| end backend.mailAliasRoles.each do |mailAlias| - puts 'mailAlias: '+mailAlias.mail.inspect+','+mailAlias.maildrop.inspect + puts 'mailAliasRole: '+mailAlias.mail.inspect+','+mailAlias.maildrop.inspect end puts backend.mailAliasPeople.each do |mailAlias| - puts 'mailAlias: '+mailAlias.mail.inspect+','+mailAlias.maildrop.inspect + puts 'mailAliasPerson: '+mailAlias.mail.inspect+','+mailAlias.maildrop.inspect end puts @@ -82,3 +85,34 @@ puts site.name = 'wumbaba.de' site.save + +puts + +mail = MailAliasRole.new({ + :backend => ldap, + :mail => 'newrole@kommandozeilenchef.de', + :maildrop => 'newrole', + :user => 'newrole' +}) +mail.save + +puts + +mail = MailAliasPerson.new({ + :backend => ldap, + :mail => 'ohotte@kommandozeilenchef.de', + :maildrop => 'ohotte', + :name => 'Onkel Hotte', + :surname => 'Hotte' +}) +mail.save + +puts + +mail = MailAccount.new({ + :backend => ldap, + :mail => 'foobar@kommandozeilenchef.de', + :mailbox => 'kommandozeilenchef.de/foobar', + :home => '/var/spool/vmail/domains' +}) +mail.save