Skip to content

Commit

Permalink
Merge pull request #28 from PlagueHO/dev
Browse files Browse the repository at this point in the history
Release to Master - Updated Code of Conduct
  • Loading branch information
PlagueHO authored Apr 27, 2018
2 parents 9af4ace + 6ec4a01 commit be7b825
Show file tree
Hide file tree
Showing 12 changed files with 374 additions and 233 deletions.
5 changes: 4 additions & 1 deletion .MetaTestOptIn.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,8 @@
"Common Tests - Validate Markdown Files",
"Common Tests - Validate Example Files",
"Common Tests - Validate Module Files",
"Common Tests - Validate Script Files"
"Common Tests - Validate Script Files",
"Common Tests - Flagged Script Analyzer Rules",
"Common Tests - New Error-Level Script Analyzer Rules",
"Common Tests - Custom Script Analyzer Rules"
]
7 changes: 4 additions & 3 deletions .vscode/RunAllTests.ps1
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
[string] $repoRoot = Split-Path -Path (Split-Path -Path $Script:MyInvocation.MyCommand.Path)
if ( (-not (Test-Path -Path (Join-Path -Path $repoRoot -ChildPath 'DSCResource.Tests'))) -or `
(-not (Test-Path -Path (Join-Path -Path $repoRoot -ChildPath 'DSCResource.Tests\TestHelper.psm1'))) )
[string] $dscResourceTestsPath = Join-Path -Path $repoRoot -ChildPath 'Modules\iSCSIDsc\DSCResource.Tests'
if ((-not (Test-Path -Path $dscResourceTestsPath)) -or `
(-not (Test-Path -Path (Join-Path -Path $dscResourceTestsPath -ChildPath 'TestHelper.psm1'))))
{
& git @('clone','https://github.com/PowerShell/DscResource.Tests.git',(Join-Path -Path $repoRoot -ChildPath 'Modules\iSCSIDsc\DSCResource.Tests\'))
}

Import-Module (Join-Path -Path $repoRoot -ChildPath 'Tests\TestHarness.psm1' -Resolve)
$dscTestsPath = Join-Path -Path $repoRoot -ChildPath 'Modules\iSCSIDsc\DscResource.Tests\Meta.Tests.ps1'
[string] $dscTestsPath = Join-Path -Path $dscResourceTestsPath -ChildPath 'Meta.Tests.ps1'
Invoke-TestHarness -DscTestsPath $dscTestsPath
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

## Unreleased

- Enabled PSSA rule violations to fail build - Fixes [Issue #27](https://github.com/PlagueHO/iSCSIDsc/issues/27).
- Updated tests to meet Pester v4 standard.
- Added Open Code of Conduct.

## 1.5.0.0

- Converted resource module to be compliant with HQRM.
Expand Down
133 changes: 133 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Open Source Code of Conduct

This code of conduct outlines our expectations for participants within this
DSC Resource Module community, as well as steps to reporting unacceptable behavior.
We are committed to providing a welcoming and inspiring community for all and expect
our code of conduct to be honored. Anyone who violates this code of conduct may be
banned from the community.

Our open source communities strive to:

- **Be friendly and patient.**
- **Be welcoming:** We strive to be a community that welcomes and supports people
of all backgrounds and identities. This includes, but is not limited to members
of any race, ethnicity, culture, national origin, colour, immigration status,
social and economic class, educational level, sex, sexual orientation, gender
identity and expression, age, size, family status, political belief, religion,
and mental and physical ability.
- **Be considerate:** Your work will be used by other people, and you in turn
will depend on the work of others. Any decision you take will affect users and
colleagues, and you should take those consequences into account when making
decisions. Remember that we're a world-wide community, so you might not be
communicating in someone else's primary language.
- **Be respectful:** Not all of us will agree all the time, but disagreement is
no excuse for poor behavior and poor manners. We might all experience some
frustration now and then, but we cannot allow that frustration to turn into a
personal attack. It's important to remember that a community where people feel
uncomfortable or threatened is not a productive one.
- **Be careful in the words that we choose:** we are a community of professionals,
and we conduct ourselves professionally. Be kind to others. Do not insult or
put down other participants. Harassment and other exclusionary behavior aren't
acceptable.
- **Try to understand why we disagree:** Disagreements, both social and technical,
happen all the time. It is important that we resolve disagreements and differing
views constructively. Remember that we're different. The strength of our community
comes from its diversity, people from a wide range of backgrounds. Different people
have different perspectives on issues. Being unable to understand why someone holds
a viewpoint doesn't mean that they're wrong. Don't forget that it is human to err
and blaming each other doesn't get us anywhere. Instead, focus on helping to resolve
issues and learning from mistakes.

## Definitions

Harassment includes, but is not limited to:

- Offensive comments related to gender, gender identity and expression, sexual
orientation, disability, mental illness, neuro(a)typicality, physical appearance,
body size, race, age, regional discrimination, political or religious affiliation
- Unwelcome comments regarding a person's lifestyle choices and practices,
including those related to food, health, parenting, drugs, and employment
- Deliberate misgendering. This includes deadnaming or persistently using a
pronoun that does not correctly reflect a person's gender identity. You must
address people by the name they give you when not addressing them by their username
or handle
- Physical contact and simulated physical contact (eg, textual descriptions like
"hug" or "backrub") without consent or after a request to stop
- Threats of violence, both physical and psychological
- Incitement of violence towards any individual, including encouraging a person
to commit suicide or to engage in self-harm
- Deliberate intimidation
- Stalking or following
- Harassing photography or recording, including logging online activity for
harassment purposes
- Sustained disruption of discussion
- Unwelcome sexual attention, including gratuitous or off-topic sexual images or
behaviour
- Pattern of inappropriate social contact, such as requesting/assuming inappropriate
levels of intimacy with others
- Continued one-on-one communication after requests to cease
- Deliberate "outing" of any aspect of a person's identity without their consent
except as necessary to protect others from intentional abuse
- Publication of non-harassing private communication

Our open source community prioritizes marginalized people's safety over privileged
people's comfort. We will not act on complaints regarding:

- 'Reverse' -isms, including 'reverse racism,' 'reverse sexism,' and 'cisphobia'
- Reasonable communication of boundaries, such as "leave me alone," "go away," or
"I'm not discussing this with you"
- Refusal to explain or debate social justice concepts
- Communicating in a 'tone' you don't find congenial
- Criticizing racist, sexist, cissexist, or otherwise oppressive behavior or assumptions

## Diversity Statement

We encourage everyone to participate and are committed to building a community
for all. Although we will fail at times, we seek to treat everyone both as fairly
and equally as possible. Whenever a participant has made a mistake, we expect them
to take responsibility for it. If someone has been harmed or offended, it is our
responsibility to listen carefully and respectfully, and do our best to right the
wrong.

Although this list cannot be exhaustive, we explicitly honor diversity in age,
gender, gender identity or expression, culture, ethnicity, language, national
origin, political beliefs, profession, race, religion, sexual orientation, socioeconomic
status, and technical ability. We will not tolerate discrimination based on any
of the protected characteristics above, including participants with disabilities.

## Reporting Code of Conduct Issues

If you experience or witness unacceptable behavior—or have any other concerns,
please report it by contacting us via [[email protected]](mailto:[email protected]).
All reports will be handled with discretion.

In your report please include:

- Your contact information.
- Names (real, usernames or pseudonyms) of any individuals involved. If there
are additional witnesses, please include them as well.
- Your account of what occurred, and if you believe the incident is ongoing.
- If there is a publicly available record (e.g. a mailing list archive or a
public chat log), please include a link or attachment.
- Any additional information that may be helpful.

After filing a report, a representative will contact you personally, review the
incident, follow up with any additional questions, and make a decision as to how
to respond. If the person who is harassing you is part of the response team, they
will recuse themselves from handling your incident. If the complaint originates
from a member of the response team, it will be handled by a different member of
the response team. We will respect confidentiality requests for the purpose of
protecting victims of abuse.

## Attribution & Acknowledgements

We all stand on the shoulders of giants across many open source communities.
We’d like to thank the communities and projects that established code of conducts
and diversity statements as our inspiration:

- [Django](https://www.djangoproject.com/conduct/reporting/)
- [Python](https://www.python.org/community/diversity/)
- [Ubuntu](http://www.ubuntu.com/about/about-ubuntu/conduct)
- [Contributor Covenant](http://contributor-covenant.org/)
- [Geek Feminism](http://geekfeminism.org/about/code-of-conduct/)
- [Citizen Code of Conduct](http://citizencodeofconduct.org/)
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ Targets and Initiators.

**This project is not maintained or supported by Microsoft.**

It has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/).
This project has adopted this [Open Source Code of Conduct](CODE_OF_CONDUCT.md).

This module should meet the [PowerShell DSC Resource Kit High Quality Resource
Module Guidelines](https://github.com/PowerShell/DscResources/blob/master/HighQualityModuleGuidelines.md).
Expand Down
48 changes: 24 additions & 24 deletions Tests/Integration/DSR_iSCSIInitiator.Integration.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ try
Describe 'Environment' {
Context 'Operating System' {
It 'Should be a Server OS' {
$ProductType | Should Be 3
$ProductType | Should -Be 3
}
}
}
Expand All @@ -49,7 +49,7 @@ try
Describe 'Environment' {
Context 'Windows Features' {
It 'Should have the iSCSI Target Feature Installed' {
$Installed | Should Be $true
$Installed | Should -Be $true
}
}
}
Expand Down Expand Up @@ -85,11 +85,11 @@ try
{
& "$($script:DSCResourceName)_Config" -OutputPath $TestDrive
Start-DscConfiguration -Path $TestDrive -ComputerName localhost -Wait -Verbose -Force
} | Should not throw
} | Should -Not -Throw
}

It 'should be able to call Get-DscConfiguration without throwing' {
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should Not throw
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should -Not -throw
}
#endregion

Expand All @@ -98,32 +98,32 @@ try
$TargetPortalNew = Get-iSCSITargetPortal `
-TargetPortalAddress $TargetPortal.TargetPortalAddress `
-InitiatorPortalAddress $TargetPortal.InitiatorPortalAddress
$Initiator.TargetPortalAddress | Should Be $TargetPortalNew.TargetPortalAddress
$Initiator.TargetPortalPortNumber | Should Be $TargetPortalNew.TargetPortalPortNumber
$Initiator.InitiatorInstanceName | Should Be $TargetPortalNew.InitiatorInstanceName
$Initiator.InitiatorPortalAddress | Should Be $TargetPortalNew.InitiatorPortalAddress
$Initiator.IsDataDigest | Should Be $TargetPortalNew.IsDataDigest
$Initiator.IsHeaderDigest | Should Be $TargetPortalNew.IsHeaderDigest
$Initiator.TargetPortalAddress | Should -Be $TargetPortalNew.TargetPortalAddress
$Initiator.TargetPortalPortNumber | Should -Be $TargetPortalNew.TargetPortalPortNumber
$Initiator.InitiatorInstanceName | Should -Be $TargetPortalNew.InitiatorInstanceName
$Initiator.InitiatorPortalAddress | Should -Be $TargetPortalNew.InitiatorPortalAddress
$Initiator.IsDataDigest | Should -Be $TargetPortalNew.IsDataDigest
$Initiator.IsHeaderDigest | Should -Be $TargetPortalNew.IsHeaderDigest
$TargetNew = Get-iSCSITarget `
-NodeAddress $Target.NodeAddress
$Initiator.IsConnected | Should Be $True
$Initiator.NodeAddress | Should Be $TargetNew.NodeAddress
$Initiator.IsConnected | Should -Be $True
$Initiator.NodeAddress | Should -Be $TargetNew.NodeAddress
$SessionNew = Get-iSCSISession `
-IscsiTarget $TargetNew
$Initiator.TargetPortalAddress | Should Be $SessionNew.TargetAddress
$Initiator.InitiatorPortalAddress | Should Be $SessionNew.InitiatorAddress
$Initiator.TargetPortalPortNumber | Should Be $SessionNew.TargetPortNumber
$Initiator.ConnectionIdentifier | Should Be $SessionNew.ConnectionIdentifier
$Initiator.TargetPortalAddress | Should -Be $SessionNew.TargetAddress
$Initiator.InitiatorPortalAddress | Should -Be $SessionNew.InitiatorAddress
$Initiator.TargetPortalPortNumber | Should -Be $SessionNew.TargetPortNumber
$Initiator.ConnectionIdentifier | Should -Be $SessionNew.ConnectionIdentifier
$ConnectionNew = Get-iSCSIConnection `
-NodeAddress $Target.NodeAddress
$Initiator.AuthenticationType | Should Be $ConnectionNew.AuthenticationType
$Initiator.InitiatorInstanceName | Should Be $ConnectionNew.InitiatorInstanceName
$Initiator.InitiatorPortalAddress | Should Be $ConnectionNew.InitiatorPortalAddress
$Initiator.IsConnected | Should Be $ConnectionNew.IsConnected
$Initiator.IsDataDigest | Should Be $ConnectionNew.IsDataDigest
$Initiator.IsDiscovered | Should Be $ConnectionNew.IsDiscovered
$Initiator.IsHeaderDigest | Should Be $ConnectionNew.IsHeaderDigest
$Initiator.IsPersistent | Should Be $ConnectionNew.IsPersistent
$Initiator.AuthenticationType | Should -Be $ConnectionNew.AuthenticationType
$Initiator.InitiatorInstanceName | Should -Be $ConnectionNew.InitiatorInstanceName
$Initiator.InitiatorPortalAddress | Should -Be $ConnectionNew.InitiatorPortalAddress
$Initiator.IsConnected | Should -Be $ConnectionNew.IsConnected
$Initiator.IsDataDigest | Should -Be $ConnectionNew.IsDataDigest
$Initiator.IsDiscovered | Should -Be $ConnectionNew.IsDiscovered
$Initiator.IsHeaderDigest | Should -Be $ConnectionNew.IsHeaderDigest
$Initiator.IsPersistent | Should -Be $ConnectionNew.IsPersistent
$iSNSServerNew = Get-WmiObject -Class MSiSCSIInitiator_iSNSServerClass -Namespace root\wmi
# The iSNS Server is not usually accessible so won't be able to be set
# $Initiator.iSNSServer | Should Be $iSNSServerNew.iSNSServerAddress
Expand Down
14 changes: 7 additions & 7 deletions Tests/Integration/DSR_iSCSIServerTarget.Integration.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ try
Describe 'Environment' {
Context 'Operating System' {
It 'Should be a Server OS' {
$ProductType | Should Be 3
$ProductType | Should -Be 3
}
}
}
Expand All @@ -40,7 +40,7 @@ try
Describe 'Environment' {
Context 'Windows Features' {
It 'Should have the iSCSI Target Feature Installed' {
$Installed | Should Be $true
$Installed | Should -Be $true
}
}
}
Expand All @@ -65,20 +65,20 @@ try
{
& "$($script:DSCResourceName)_Config" -OutputPath $TestDrive
Start-DscConfiguration -Path $TestDrive -ComputerName localhost -Wait -Verbose -Force
} | Should not throw
} | Should -Not -Throw
}

It 'should be able to call Get-DscConfiguration without throwing' {
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should Not throw
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should -Not -throw
}
#endregion

It 'Should have set the resource and all the parameters should match' {
# Get the Rule details
$ServerTargetNew = Get-iSCSIServerTarget -TargetName $ServerTarget.TargetName
$ServerTargetNew.TargetName | Should Be $ServerTarget.TargetName
$ServerTargetNew.InitiatorIds | Should Be $ServerTarget.InitiatorIds
$ServerTargetNew.LunMappings.Path | Should Be $ServerTarget.Paths
$ServerTargetNew.TargetName | Should -Be $ServerTarget.TargetName
$ServerTargetNew.InitiatorIds | Should -Be $ServerTarget.InitiatorIds
$ServerTargetNew.LunMappings.Path | Should -Be $ServerTarget.Paths
$iSNSServerNew = Get-WmiObject -Class WT_iSNSServer -Namespace root\wmi
# The iSNS Server is not usually accessible so won't be able to be set
# $iSNSServerNew.ServerName | Should Be $ServerTarget.iSNSServer
Expand Down
16 changes: 8 additions & 8 deletions Tests/Integration/DSR_iSCSIVirtualDisk.Integration.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ try
Describe 'Environment' {
Context 'Operating System' {
It 'Should be a Server OS' {
$ProductType | Should Be 3
$ProductType | Should -Be 3
}
}
}
Expand All @@ -40,7 +40,7 @@ try
Describe 'Environment' {
Context 'Windows Features' {
It 'Should have the iSCSI Target Feature Installed' {
$Installed | Should Be $true
$Installed | Should -Be $true
}
}
}
Expand All @@ -59,21 +59,21 @@ try
{
& "$($script:DSCResourceName)_Config" -OutputPath $TestDrive
Start-DscConfiguration -Path $TestDrive -ComputerName localhost -Wait -Verbose -Force
} | Should not throw
} | Should -Not -Throw
}

It 'should be able to call Get-DscConfiguration without throwing' {
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should Not throw
{ Get-DscConfiguration -Verbose -ErrorAction Stop } | Should -Not -throw
}
#endregion

It 'Should have set the resource and all the parameters should match' {
# Get the Rule details
$virtualDiskNew = Get-iSCSIVirtualDisk -Path $VirtualDisk.Path
$VirtualDisk.Path | Should Be $virtualDiskNew.Path
$VirtualDisk.DiskType | Should Be $virtualDiskNew.DiskType
$VirtualDisk.Size | Should Be $virtualDiskNew.Size
$VirtualDisk.Description | Should Be $virtualDiskNew.Description
$VirtualDisk.Path | Should -Be $virtualDiskNew.Path
$VirtualDisk.DiskType | Should -Be $virtualDiskNew.DiskType
$VirtualDisk.Size | Should -Be $virtualDiskNew.Size
$VirtualDisk.Description | Should -Be $virtualDiskNew.Description
}

AfterAll {
Expand Down
Loading

0 comments on commit be7b825

Please sign in to comment.