Skip to content
Snippets Groups Projects
Commit b53ece60 authored by Thomas Pätzold's avatar Thomas Pätzold
Browse files

Merge branch 'dev' into 'master'

AdmAPI 3.0.3

See merge request !4
parents b59e7090 13411136
No related branches found
No related tags found
1 merge request!4AdmAPI 3.0.3
# These are the Pester Tests in order to demonstrate how the API works
# These are the Pester Tests in order to demonstrate how the API works and
# reflects the following versions API04 MailADM 3.0.3
# If you need further documentation please check our doku-portal [0]
# or contact our IT-ServiceDesk (servicedesk@itc.rwth-aachen.de)
# [0] https://doc.itc.rwth-aachen.de/dosearchsite.action?queryString=MailAdm
# initializing
# connection settings
$user = "<MailAdm Serviceaccount>"
$password = "<password>"
$user = "<Service Account>" # e.g. srv123456@rwth-ad.de
$password = "<Password>"
$uri = "https://ws.rwth-ad.de/ex-cache-ws/APIv04.asmx?wsDL"
# import functions
. .\connect.ps1
. .\listquota.ps1
. .\mailaccounts.ps1
. .\distributionlist.ps1
# set variables
# please change the following variables
$existingUPN = "<existing user logon name>" # e.g. ab123456@mustereinrichtung.rwth-aachen.de
# these variables should work
$Primarydomain = "mustereinrichtung.rwth-aachen.de"
$SecondaryDomain = ""
$existingPersonalMailaccount = "paetzold@mustereinrichtung.rwth-aachen.de"
......@@ -23,6 +25,15 @@ $distributionlist = "zoo@mustereinrichtung.rwth-aachen.de"
$newdistributionmailaddress = "alletiere2@mustereinrichtung.rwth-aachen.de"
$newmailaddress = "zebra@mustereinrichtung.rwth-aachen.de"
# import functions
. .\connect.ps1
. .\listquota.ps1
. .\mailaccounts.ps1
. .\distributionlist.ps1
Describe "MailAdm-Doku" {
It "Connection: Establish a connection with Webservice" {
$global:ws = new-mailadmconnection -user $user -password $password -uri $uri
......@@ -48,6 +59,11 @@ Describe "MailAdm-Doku" {
$mailaccounts.count | should -BeGreaterOrEqual 0
}
It "get-mailbox: check for existing Logon Credentials and returns the corresponding Mailboxinformation" {
$mailaccount = get-mailbox -webserviceConnection $global:ws -upn $existingUPN
$mailaccount.count | should -Be 1
}
It "Remove-Mailboxinvitation: dummy test in order to remove all invitations to get a defined infrastructure" {
$result = remove-allmailboxinvitation -webserviceconnection $global:ws
# check if alll invitations could be deleted
......@@ -240,6 +256,48 @@ Describe "MailAdm-Doku" {
$result | should -Be $true
}
It "change: Mailboxtype functional mailbox -> room mailbox" {
# 0 UserMailbox
# 1 Funktionsaccount (in Exchange: UserMailbox)
# 2 RoomMailbox
# 3 EquipmentMailbox
$upn = "fkt_$existingfunctionalmailbox"
$result = change-mailboxtype -webserviceConnection $global:ws -upn $upn -newmailboxtype 2
$result | should -Be $true
}
It "change: Mailboxtype room mailbox -> equipment mailbox" {
# 0 UserMailbox
# 1 Funktionsaccount (in Exchange: UserMailbox)
# 2 RoomMailbox
# 3 EquipmentMailbox
$upn = "fkt_$existingfunctionalmailbox"
$result = change-mailboxtype -webserviceConnection $global:ws -upn $upn -newmailboxtype 3
$result | should -Be $true
}
It "change: Mailboxtype equipment mailbox -> functional Mailbox" {
# 0 UserMailbox
# 1 Funktionsaccount (in Exchange: UserMailbox)
# 2 RoomMailbox
# 3 EquipmentMailbox
$upn = "fkt_$existingfunctionalmailbox"
$result = change-mailboxtype -webserviceConnection $global:ws -upn $upn -newmailboxtype 1
$result | should -Be $true
}
It "change: Mailboxtype functional mailbox -> personal Mailbox -->> Error" {
# 0 UserMailbox
# 1 Funktionsaccount (in Exchange: UserMailbox)
# 2 RoomMailbox
# 3 EquipmentMailbox
$upn = "fkt_$existingfunctionalmailbox"
$result = change-mailboxtype -webserviceConnection $global:ws -upn $upn -newmailboxtype 0
$result | should -Be $false
}
It "create: distribution list" {
$displayname = "Zoo"
$distributionlist = create-distributionlist -WebserviceConnection $global:ws -displayname $displayname -mailaddress $distributionlist
......
......@@ -8,6 +8,14 @@ function get-mailaccounts {
$mailaccounts
}
function get-mailbox {
[CmdletBinding()]
param ($webserviceconnection,$upn)
$mailbox = $webserviceconnection.getMailbox($upn)
$mailbox
}
function add-mailboxinvitation {
[CmdletBinding()]
param ($webserviceconnection, $quotaPoolID, $primaryEMailAddress, $givenname, $Surname, $QuotaInMB, $Aliasaddresses, $Mailboxtype, $DeliverToMailBoxAndforward, $ForwardingEmailaddress, $Owner)
......@@ -66,7 +74,6 @@ function change-mailboxforwardingaddress {
$result
}
function chaange-emailaddresses { }
function change-mailboxquota {
[CmdletBinding()]
......@@ -147,3 +154,11 @@ function change-removesendaspermission {
$result = $webserviceconnection.RemoveSendAsPermission($mailboxtochange.upn, $user)
$result
}
function change-mailboxtype {
[cmdletBinding()]
param ($webserviceconnection, $upn, $newmailboxtype)
$result = $webserviceconnection.changemailboxtype($upn,$newmailboxtype)
$result
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment