Test/test008.ps1
BEGIN { # the definition of Out-TestLog . ./Common.ps1 $MPNAME = "EnumTestMP" $MPFILENAME = "${MPNAME}.xml" $TESTNAME = $MyInvocation.MyCommand $name = "System.WorkItem.Incident" $STARTTIME = [datetime]::Now # CREATE THE MP HERE function New-EnumMP { @" <?xml version="1.0" encoding="utf-8"?><ManagementPack ContentReadable="true" SchemaVersion="{0}" OriginalSchemaVersion="1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <Manifest> <Identity> <ID>${MPNAME}</ID> <Version>1.0.0.0</Version> </Identity> <Name>Enumeration Test MP</Name> <References> "@ -f $SCHEMAVERSION $MPList = "Microsoft.SystemCenter.InstanceGroup.Library", "System.WorkItem.Library", "Microsoft.SystemCenter.Library", "Microsoft.Windows.Library", "System.Library", "System.WorkItem.Activity.Library", "System.Notifications.Library" foreach ( $mp in $MPList ) { $mpi = get-scsmmanagementpack "^${mp}$" " <Reference Alias=""{0}"">" -f $mp.Replace(".","_") " <ID>$mp</ID>" " <Version>{0}</Version>" -f $mpi.Version " <PublicKeyToken>{0}</PublicKeyToken>" -f $mpi.KeyToken " </Reference>" } @" </References> </Manifest> <TypeDefinitions> <EntityTypes> <EnumerationTypes> <EnumerationValue ID="System.WorkItem.TroubleTicket.UrgencyEnum.MediumHigh" Accessibility="Public" Parent="System_WorkItem_Library!System.WorkItem.TroubleTicket.UrgencyEnum" Ordinal="8" /> </EnumerationTypes> </EntityTypes> </TypeDefinitions> </ManagementPack> "@ } } END { $SYSMP = get-scsmmanagementPack System.Library $SCHEMAVERSION = "{0}.{1}" -f $SYSMP.SchemaVersion.Major,$SYSMP.SchemaVersion.Minor new-EnumMP |set-content -encoding ascii ${MPFILENAME} try { # set-psdebug -trace 2 $error.clear() import-scsmmanagementpack ${MPFILENAME} $incidentClass = get-scsmclass ^System.WorkItem.Incident$ $r = new-scsmobject -pass $incidentClass @{ Id = "IR{0}"; Title = "foobar"; Urgency = "MediumHigh"; Impact = "High"} $id = $r.id $mpToRemove = get-scsmmanagementpack ${MPNAME} $mpToRemove | remove-scsmmanagementpack remove-item ${MPFILENAME} start-sleep 5 $incident = get-scsmincident -id $id $g = new-object guid $incident.Urgency } catch { Out-TestLog ("FAIL: " + [datetime]::Now + ":${TESTNAME}" ) $error | %{ Out-TestLog (" DETAIL: " + $_ ) } return 1 } finally { set-psdebug -trace 0 } Out-TestLog ("PASS: " + [datetime]::Now + ":$TESTNAME") return 0 } |