Commit graph

1148 commits

Author SHA1 Message Date
Klaudia Algiz
dfa11d7f5e Add '-AsArray' parameter to 'ConvertoTo-Json' command (#6438)
Add `-AsArray` parameter to `ConvertoTo-Json` command to always pack the output string in array brackets, even if the input is a single object.
2018-03-23 10:32:13 -07:00
Klaudia Algiz
cc3ffd8349 Use new Pester syntax: -Parameter for Pester tests in modules: Microsoft.PowerShell.Utility and Microsoft.WSMan.Management. (#6366) 2018-03-23 10:26:23 -07:00
Dongbo Wang
9df8ea58e9
Throw better parsing error when statements should be put in named block (#6434) 2018-03-21 14:24:20 -07:00
Travis Plunk
41b3161830
Fix error in windows provider when the environment as an existing set of variables name that only differs by case (#6320)
- make the provider storage for the environment on windows ignore duplicates
- add tests to verify existing environment get-item behavior
2018-03-21 12:30:49 -07:00
Klaudia Algiz
ceef2e37e9 Use new Pester syntax: -Parameter for Pester tests in Language. (#6304) 2018-03-21 10:47:08 -07:00
rjmholt
cdc2015418 Change Get-FileHash tests to use raw bytes (#6430)
* Change filehash tests to use raw bytes

* Remove testablescript.ps1 from Get-FileHash tests

* Use BOM-less UTF8 input for Get-FileHash
2018-03-20 15:11:37 -07:00
Dongbo Wang
1b3c8aca50
Fix the NullRefException when using '-PipelineVariable' with 'DynamicParam' block (#6433) 2018-03-20 12:02:46 -07:00
Travis Plunk
ae636df526
remove runas.exe from tests as we have tags to control this behavior (#6432)
remove runas.exe from tests as we have tags to control this behavior
- this should reduce the likelihood of errors
2018-03-19 15:36:56 -07:00
Steve Lee
876085c6f0 Stop 'ConvertTo-Json' when 'Ctrl+c' is hit (#6392) 2018-03-19 09:13:05 -07:00
Travis Plunk
260aa49c4f
fix secret and JavaScript compliance issues (#6408)
fix secret and JavaScript compliance issues
- mark secrets as a test only secrets
- make javascript use strict in a specific function
2018-03-16 18:05:32 -07:00
kwkam
8ef5d4b8ee Make Resolve-Path -Relative return useful path when $PWD and -Path is on different drive (#5740)
* commands: make rvpa -relative do not return ./absolute_path

This happens on Windows when $pwd and -path is on different drive

* only return relative path inside current root
2018-03-16 15:06:37 -07:00
Ilya
a281853fcb Correct the '%c', '%l', '%k', '%s' and '%j' formats in 'Get-Date -UFormat' (#4805) 2018-03-16 09:44:42 -07:00
kwkam
5f202d676f Add 'NullReference' checks to two code paths related to 'PseudoParameterBinder' (#5738)
1. Add a null check in the tab completion code on the binding result returned from `PseudoParameterBinder`;
2. Add a null check in `CommandDiscovery.LookupCommandProcessor` on the `CommandInfo` object returned from the method `LookupCommandInfo`.
2018-03-16 09:10:06 -07:00
Amaan Marfatia
80d5df55c2 Standard deviation implementation on Measure-Object (#6238)
Implement iterative standard deviation algorithm for Measure-Object
2018-03-15 20:45:59 -07:00
Dongbo Wang
294def7b11
Fix 'PropertyOnlyAdapter' to allow calling base methods (#6394)
For a PropertyOnlyAdapter, the property may come from various sources, but methods, including parameterized properties, still come from DotNetAdapter. So, the binder can optimize on method calls for objects that map to a custom PropertyOnlyAdapter.
2018-03-15 15:09:38 -07:00
Klaudia Algiz
090f8761e8 Use new Pester syntax: -Parameter for Pester tests in engine. (#6298)
* Use new Pester syntax: -Parameter for Pester tests in engine.
2018-03-14 12:13:32 -07:00
Dongbo Wang
7721042fd5 Pass the 'Match' object to $_ for the substitute script block in '-replace' operation (#6029) 2018-03-14 09:43:57 -07:00
Mathias R. Jessen
915639a177 Add lambda support to -replace operator
Add support for replacement lambdas when using the -replace operator.
Requires minimal changes to existing code by using the following overload:
    Regex.Replace(string input, MatchEvaluator evaluator)
when a ScriptBlock is passed in as the replacement argument.
2018-03-14 09:43:57 -07:00
Klaudia Algiz
bcf86d4f8a Use new Pester syntax: -Parameter for Pester tests in Microsoft.PowerShell.Management module. (#6294) 2018-03-09 15:13:15 -08:00
Klaudia Algiz
31cef2afb5 Add negative tests for Copy-Item over remote sessions (#6231) 2018-03-09 08:34:19 -08:00
Mark Kraus
06b0bb2eb2 Make a relative redirect URI absolute when 'Authorization' header present (#6325) 2018-03-09 08:28:20 -08:00
rjmholt
e42c1db395 Make relation-link handling in web cmdlets case insensitive (#6338) 2018-03-08 15:54:42 -08:00
Klaudia Algiz
740c075704 Use new Pester syntax: -Parameter for Pester tests in Modules/CimCmdlets (#6306)
* Use new Pester syntax: -Parameter for Pester tests in Modules/CimCmdlets.
2018-03-07 10:54:41 -08:00
James Truher [MSFT]
30e9e309dc Rename some tests because they are duplicates (#6312)
Also remove a couple of language tests which were actually duplicated
Change the one loop which loops through test cases to include an iteration number to remove test name duplication
2018-03-07 10:25:49 -08:00
Klaudia Algiz
20b0e9cc61 Tests for Get-Process Cmdlet for Module and FileVersion parameters (#6272)
* Tests for Get-Process cmdlet.

* Tests for Get-Process run as admin.

* Skipping some Get-Process tests on Linux

* Skip test for -FileVersionInfo parameter for Linux because of the bug that cause the command to hang.

* Add checks for ErrorId in Get-Process tests

* Change one Get-Process test status to pending for MacOs
2018-03-05 11:44:54 -08:00
Klaudia Algiz
46613e419d Test for OsLocalDateTime property of Get-ComputerInfo. (#6253)
* Test for OsLocalDateTime property in ComputerInfo.
2018-03-02 14:35:56 -08:00
Chunqing Chen
502ee8f757 get-childitem -LiteralPath should accept 'Include' or 'Exclude' filter (#5462)
* get-childitem -LiteralPath should accept 'Include' or 'Exclude' filter
2018-03-02 14:34:53 -08:00
Dongbo Wang
b30a614e5a
Enable the pending Save-Help tests in CI (#6289)
Some CI level 'Save-Help' tests were disabled in #2806 because HelpInfo URIs for powershell modules were broken (tracked by #2807). However, they were forgotten to be enabled when the URI issue was fixed. This PR reenables those tests.
2018-03-02 13:17:05 -08:00
Mark Kraus
b7ca151260 Refactor Web Cmdlets Tests to Pester 4 Syntax (#6257)
* Pass with Update-PesterTest
* Search and Replace Pass
* [Feature] Move to BeTrue
2018-03-02 09:00:00 +04:00
Kevin Marquette
548850d249 Add 'Path' alias to '-FilePath' parameters and others for several commands (#5817) 2018-02-27 13:05:58 -08:00
Travis Plunk
a49cc9d6e3
revert tests marked pending in #6230 (#6251) 2018-02-26 16:23:59 -08:00
Steve Lee
3b70f7689b Fix table alignment and padding. (#6230)
- The original change to remove extra padding didn't take into account alignment.
  Fix logic to accommodate left, center, and right alignment in the table format and also add tests.
- Fix ImplicitRemoting test that validates formatting to use same instance due to formatting changes in this PR
- Only use loopback to same powershell instance for formatting test as the other tests implicitly expect Windows PowerShell.
2018-02-26 12:43:31 -08:00
Klaudia Algiz
e76354758d Add RequireSudoOnUnix tag for get-help <cmdletName> tests. (#6223) 2018-02-26 12:35:05 -08:00
Roman Beltyukov
3ebe0a9cb0 Add Password parameter to Get-PfxCertificate cmdlet (#6113)
Add Password parameter to Get-PfxCertificate cmdlet to allow automatization instead of prompting for password every time.
2018-02-23 07:29:02 +04:00
Steve Lee
bdd6008846 Don't add trailing spaces to last column when using Format-Table (#5568)
* don't add trailing space to last column in table

* fix out-file tests to new behavior of no padding trailing spaces
2018-02-22 11:47:24 -08:00
Christoph Bergmeister
03ac50ade1 [breaking change] Throw terminating error in New-TemporaryFile and make it not rely on the presence of the 'TEMP' environment variable (#6182)
- Fixes issue #4634 by throwing a terminating error as agreed.
- Makes the command not rely on the presence of the TEMP environment variable to get path to temp directory and use the .Net method Path.GetTempPath() instead.
- Catch exception more specific as given by the documentation
- Improve existing test.
2018-02-22 23:32:01 +04:00
Klaudia Algiz
0ac01b722d Add tests for *-Item Cmdlets in Function Provider (#6172) 2018-02-22 23:26:26 +04:00
Mark Kraus
11d2e2dfd4 Add -SkipHeaderValidation Support to ContentType on Web Cmdlets (#6018)
* Add SkipHeaderValidation Support to ContentType on Web Cmdlets

* Move -SkipHeaderValidation Tests to Contexts

* Add ContentType -SkipHeaderValidation Tests

* Improve ContentType Exception

* Improve error message on invalid -ContentType
2018-02-22 11:15:05 -08:00
Kevin Marquette
93a5fed375 Add common aliases for all write-* commands default message parameter (#5816)
* add common write aliases

* add Message alias to the MessageData parameter for Write-Information
add  Msg and Message alias to the Object perameter for Write-Host

* Add tests for new aliases
2018-02-22 11:07:51 -08:00
Mark Kraus
c6cd66bca8 [feature] Make UTF-8 Default Encoding for application/json (#6109)
When a charset is not supplied for a JSON response, the default encoding should be UTF-8 per RFC 8259. This commit changes the default charset to UTF-8 for JSON responses when a charset is not defined.
2018-02-22 09:31:00 +04:00
Klaudia Algiz
43572b0831 Add tests for Set-Item Cmdlet for Function Provider. (#6166) 2018-02-20 15:00:49 -08:00
Klaudia Algiz
17b501c9fa Support running tests in root privilege on Linux. (#6145)
Support running tests in root privilege on Linux by adding the `REQUIRESUDOONUNIX` tag.
- Delete skip tag in tests which require `sudo`.
2018-02-16 11:13:23 -08:00
Klaudia Algiz
d6e978f82a Invoke-Item.Tests.ps1 handles finding multiple ping executables. (#6120)
Invoke-Item.Tests.ps1 handles finding multiple ping executables.

Fixes Issue #5220
2018-02-13 17:01:24 -08:00
Steve Lee
c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
Ilya
0ad9fc9d70
[breaking-change] Fix range operator (#5732)
Breaking-change:  "0".."9" returns [char] previously in PowerShell Core (6.0.0, 6.0.1), now it returns [int]. After the change, the behavior is the same as in Windows PowerShell.
2018-02-11 14:22:45 +04:00
Klaudia Algiz
d6678d8417 Refactor the Get-Content tests to use -TestCases. (#6082) 2018-02-08 13:32:10 -08:00
Chunqing Chen
40eb3b3e13 Get-ChildItem <PATH>/* -file should include <Path> as search directory (#5431)
* get-childitem <PATH>/* -file should include <Path> as search directory

* [Feature] Added check for -Directory and more tests

* [Feature] Added check for the dynamic parameter type
2018-02-07 16:30:14 -08:00
Takuya Shibata
22014a923a Use 'RequireAdminOnWindows' tag in Set-Date tests (#6034)
* Use 'RequireAdminOnWindows' tag instead of 'Test-IsElevated' function.

* Fix incorrect condition of user privilege in Linux/macOS CI
2018-02-06 09:31:30 -08:00
James Truher [MSFT]
99a7d38cae Update test framework and tests to support 4x version of Pester (#6064)
* Test fixes and changes needed to support Pester 4.0.8

* Replace 'Should Contain' with new 'Should FileContentMatch' assertion

Explicitly check for string creation with write-output

* Use the current version of pester and install it in modulesDir

* Simplify logic for relative path test.

Multiple '..' is not needed for a relative path, a single one will do. Also, on multi-drive systems using split-path -noqualifier will probably do the wrong thing with regard to constructing a correct path.
Remove extraneous Should Not Throw test, if this throws, the test will fail, we don't need to explicitly assert the not throw

* In some environments it is possible that computer name is 'localhost', so that should be allowed

* [feature] Add link for migrating tests from Pester v3 to v4

Fix up capitalization and white space issues
Change one test to check FullyQualifiedErrorId rather than just `Should Throw`

* [feature] update invoke-item test to handle the case where multiple notepad processes are running

* Fix spelling issue with Pester 4x, calling it Pester 4 should be sufficient
2018-02-05 11:58:25 -08:00
Mark Kraus
37780de9b7 [Feature] Remove -TimeOutSec from non timeout related tests (#6055)
The timeout mechanism should be supported by the test framework (Pester here).
2018-02-02 23:56:06 +04:00