Test 12 2022 - Big Foundational Update (#637)

* Fix of the unit tests (#468)

* fix pester tests

* fix function (#467)

* Cherry pick and fix helper script

* remove admin check and disable

* Trim Trailing Whitespace (#472)

Co-authored-by: Chris Titus <contact@christitus.com>

* Better .gitignore (#473)

* add progress and add wait to start-process (#475)

* Fixed Cloudflare Naming (#504)

* Update winutil.ps1

* Update MainWindow.xaml

* Update check for Chocolatey  (#520)

* Update winutil.ps1

* Update check for Chocolatey

Let user decide if he wants to install Chocolatey

* Update winutil.ps1 (#525)

Migrate to Switch-Tab function

* Update winutil.ps1 (#531)

Changes to "DiagTrack" service.

* add responsive winget installs (#540)

* add responsive winget installs

* Update winutil.ps1

fix typo

* remove no longer used paramater

* add golang, an installation option in development list (#542)

* Updated winget functions (#543)

* update functions

* Update winutil.ps1

forgot triple quotes

* Update winutil.ps1

fixed vscode using wrong double quotes

* Functions and error handling (#552)

* move winget install to function and exception

* updated winget upgrade to new install process

* add logging to update

* choco to function and write-output to ensure logs

* update error handling

* revert write-host and add invoke-runspace

* Added runspace to load configs in background

* fix unit tests

* update pester tests

* update pester

* update pester

* update pester

* updated tweaks config to use WPF variable name

* Fix data type of MouseHoverTime (#568)

Setting Computer\HKEY_CURRENT_USER\Control Panel\Mouse\MouseHoverTime needs to be REG_SZ instead of REG_DWORD.
With the wrong type the Taskbar and the Start Menu become hard to use because everything pops up instantly, probably because it's then treated as a 0 ms delay.

* fix restore launch to quick access & OOSU10 download (#565)

* Fix grammar (#577)

* Update MainWindow.xaml

* Update MainWindow-runspace.xaml

* fix enable numlock after startup (#580)

* Update README.md (#616)

Added DNS provider into readme

* Fix O&O ShutUp10 disabling app notifications and hide search box (#630)

* Add files via upload

Added ooshutup10_winutil_settings and fix the issue where OOSU10 disable app notifications and hide search box in windows.

* Update winutil.ps1

Change ooshut10.cfg to ooshutup10_winutil_settings.cfg and fix the issues in https://github.com/ChrisTitusTech/winutil/issues/629
Now when apply the tweaks by O&O ShutUp10, will keep search box and notifications will not be disabled.

* Update winutil.ps1

* Update winutil.ps1

---------

Co-authored-by: Chris Titus <contact@christitus.com>

* Create ooshutup10_winutil_settings.cfg

* Feature/tweakstofunctions (#576)

* add functions for services

* Move WPFEssTweaksDVR to function

* Add invoke script and moved temp files

* WPFEssTweaksHiber and formatting

* WPFEssTweaksHiber

* WPFEssTweaksHome and service

* WPFEssTweaksLoc

* TPMCheck

* WPFEssTweaksDiskCleanup

* Add error handling for invoke script

* grammer

* UAC and tweaks

* WPFMiscTweaksDisableNotifications

* WPFMiscTweaksRightClickMenu

* Added DNS configuration + Reset to DHCP

* WPFEssTweaksOO

* WPFEssTweaksRP

* WPFEssTweaksServices

* WPFEssTweaksStorage

* WPFEssTweaksTele

* WPFEssTweaksWifi

* WPFMiscTweaksLapPower

* WPFMiscTweaksLapNum

* WPFMiscTweaksPower

* WPFMiscTweaksNum

* WPFMiscTweaksExt

* WPFMiscTweaksUTC

* WPFMiscTweaksDisplay

* Mouse Acceleration

* WPFEssTweaksRemoveCortana

* WPFEssTweaksDeBloat

* set teaks to get checkboxes and loop

* remove isdev

* add help documentation

* Add Quad 9 for #532 and #416

* remove isdev

* Update tweaks.json

Remove-ItemProperty is no longer needed as this was a bug from a bad commit 4 months ago.

---------

Co-authored-by: Chris Titus <contact@christitus.com>

* Tweak bingsearch (#620)

* add functions for services

* Move WPFEssTweaksDVR to function

* Add invoke script and moved temp files

* WPFEssTweaksHiber and formatting

* WPFEssTweaksHiber

* WPFEssTweaksHome and service

* WPFEssTweaksLoc

* TPMCheck

* WPFEssTweaksDiskCleanup

* Add error handling for invoke script

* grammer

* UAC and tweaks

* WPFMiscTweaksDisableNotifications

* WPFMiscTweaksRightClickMenu

* Added DNS configuration + Reset to DHCP

* WPFEssTweaksOO

* WPFEssTweaksRP

* WPFEssTweaksServices

* WPFEssTweaksStorage

* WPFEssTweaksTele

* WPFEssTweaksWifi

* WPFMiscTweaksLapPower

* WPFMiscTweaksLapNum

* WPFMiscTweaksPower

* WPFMiscTweaksNum

* WPFMiscTweaksExt

* WPFMiscTweaksUTC

* WPFMiscTweaksDisplay

* Mouse Acceleration

* WPFEssTweaksRemoveCortana

* WPFEssTweaksDeBloat

* set teaks to get checkboxes and loop

* remove isdev

* add help documentation

* Add Quad 9 for #532 and #416

* remove isdev

* Update helper script and add tweak

* update changes

* Refactor/runspaces (#626)

* modify runspace.ps1 to compile

* update compiler to include warning

* unit test

* implement invoke-button and naming standard

* naming standard

* fix winutil tests

* update functions

* add version number

* fix codeowners

* fix import

* undo tweaks now pull from config

* pester test

* Compile Winutil

* python and oo cfg

-fix python 3 to 3.11
-fix o&o shutup cfg
-enable dev mode for testing

* Force install missing winget

Fix method for winget install on any system.

* Deluge Addition

* Feature/impex (#619)

* add functions for services

* Move WPFEssTweaksDVR to function

* Add invoke script and moved temp files

* WPFEssTweaksHiber and formatting

* WPFEssTweaksHiber

* WPFEssTweaksHome and service

* WPFEssTweaksLoc

* TPMCheck

* WPFEssTweaksDiskCleanup

* Add error handling for invoke script

* grammer

* UAC and tweaks

* WPFMiscTweaksDisableNotifications

* WPFMiscTweaksRightClickMenu

* Added DNS configuration + Reset to DHCP

* WPFEssTweaksOO

* WPFEssTweaksRP

* WPFEssTweaksServices

* WPFEssTweaksStorage

* WPFEssTweaksTele

* WPFEssTweaksWifi

* WPFMiscTweaksLapPower

* WPFMiscTweaksLapNum

* WPFMiscTweaksPower

* WPFMiscTweaksNum

* WPFMiscTweaksExt

* WPFMiscTweaksUTC

* WPFMiscTweaksDisplay

* Mouse Acceleration

* WPFEssTweaksRemoveCortana

* WPFEssTweaksDeBloat

* set teaks to get checkboxes and loop

* remove isdev

* add help documentation

* Add Quad 9 for #532 and #416

* remove isdev

* Working Import and Export

* Add null check

* Remove IsDev

* sync with test

* redo impex

* Irm runspace fix (#635)

* Update runspace.ps1

* Update start.ps1

* compiled for testing

* Compile Winutil

* Compile Winutil

* test

* disable runspace build

* test

* change compile to ascii

* change compile to winutil

* Compile Winutil

* Delete MainWindow.xaml

* Update release.yaml

runspace merge job

* remove update branch

---------

Co-authored-by: DeveloperDurp <developerdurp@durp.info>
Co-authored-by: Carter <60557606+Carterpersall@users.noreply.github.com>
Co-authored-by: Jacobtread <33708767+jacobtread@users.noreply.github.com>
Co-authored-by: jstok84 <jstok84@gmail.com>
Co-authored-by: WolfBungalow <irtwit@gmail.com>
Co-authored-by: Ankit Yadav <52023083+4nkitd@users.noreply.github.com>
Co-authored-by: Starfiresg1 <Starfiresg1@users.noreply.github.com>
Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
Co-authored-by: Hyperio <96462198+hyperio546@users.noreply.github.com>
Co-authored-by: dennyamarojr <36896116+dennyamarojr@users.noreply.github.com>
Co-authored-by: ChrisTitusTech <ChrisTitusTech@users.noreply.github.com>
This commit is contained in:
Chris Titus
2023-03-07 12:28:00 -08:00
committed by GitHub
parent 5c8c2f3442
commit a1c7501b98
55 changed files with 6392 additions and 3485 deletions

View File

@ -17,7 +17,8 @@
$global:configs = @{}
(
"applications"
"applications",
"preset"
) | ForEach-Object {
$global:configs["$PSItem"] = Get-Content .\config\$PSItem.json | ConvertFrom-Json
}
@ -33,7 +34,7 @@
#dotsource original script to pull in all variables and ensure no errors
$script = Get-Content .\winutil.ps1
$output = $script[0..($script.count - 4)] | Out-File .\pester.ps1
$output = $script[0..($script.count - 14)] | Out-File .\pester.ps1
#endregion Load Variables needed for testing
@ -49,11 +50,11 @@ Describe "Application Installs" {
}
}
Context "Winget Install" {
$global:configs.applications.install | Get-Member -MemberType NoteProperty | ForEach-Object {
$global:configs.applications | Get-Member -MemberType NoteProperty | ForEach-Object {
$TestCase = @{ name = $psitem.name }
It "$($psitem.name) should include Winget Install" -TestCases $TestCase{
param($name)
$null -eq $global:configs.applications.install.$name.winget | should -Befalse -because "$name Did not include a Winget Install"
$null -eq $global:configs.applications.$name.winget | should -Befalse -because "$name Did not include a Winget Install"
}
}
}
@ -63,7 +64,7 @@ Describe "Application Installs" {
$TestCase = @{ name = $psitem }
It "$($psitem) should include application.json " -TestCases $TestCase{
param($name)
$null -eq $global:configs.applications.install.$name | should -Befalse -because "$name Does not have entry in applications.json"
$null -eq $global:configs.applications.$name | should -Befalse -because "$name Does not have entry in applications.json"
}
}
}
@ -105,12 +106,49 @@ Describe "GUI" {
}
}
#===========================================================================
# Tests - Functions
#===========================================================================
Describe "Functions" {
BeforeEach -Scriptblock {
. ./pester.ps1
$x = 0
while($sync.ConfigLoaded -ne $True -or $x -eq 100){
start-sleep -Milliseconds 100
$x ++
}
}
It "Get-InstallerProcess should return the correct values" {
Get-InstallerProcess | should -Befalse
$process = Start-Process powershell.exe -ArgumentList "-c start-sleep 5" -PassThru
Get-InstallerProcess $process | should -Not -Befalse
}
It "Runspace background load should have data" {
$sync.configs.applications | should -Not -BeNullOrEmpty
$sync.configs.tweaks | should -Not -BeNullOrEmpty
$sync.configs.preset | should -Not -BeNullOrEmpty
$sync.configs.feature | should -Not -BeNullOrEmpty
$sync.ComputerInfo | should -Not -BeNullOrEmpty
}
}
#===========================================================================
# Tests - GUI Functions
#===========================================================================
Describe "GUI Functions" {
BeforeEach -Scriptblock {. ./pester.ps1}
BeforeEach -Scriptblock {
. ./pester.ps1
$x = 0
while($sync.ConfigLoaded -ne $True -or $x -eq 100){
start-sleep -Milliseconds 100
$x ++
}
}
It "GUI should load with no errors" {
$WPFTab1BT | should -Not -BeNullOrEmpty
@ -123,8 +161,6 @@ Describe "GUI Functions" {
$WPFUpdatessecurity | should -Not -BeNullOrEmpty
$WPFFeatureInstall | should -Not -BeNullOrEmpty
$WPFundoall | should -Not -BeNullOrEmpty
$WPFDisableDarkMode | should -Not -BeNullOrEmpty
$WPFEnableDarkMode | should -Not -BeNullOrEmpty
$WPFtweaksbutton | should -Not -BeNullOrEmpty
$WPFminimal | should -Not -BeNullOrEmpty
$WPFlaptop | should -Not -BeNullOrEmpty
@ -135,31 +171,30 @@ Describe "GUI Functions" {
Context "Get-CheckBoxes" {
It "Get-CheckBoxes Install should return data" {
. .\pester.ps1
$TestCheckBoxes = @(
"WPFInstallvc2015_32"
"WPFInstallvscode"
"WPFInstallgit"
)
$OutputResult = New-Object System.Collections.Generic.List[System.Object]
$TestCheckBoxes | ForEach-Object {
$TestCheckBoxes = @(
"WPFInstallvc2015_32"
"WPFInstallvscode"
"WPFInstallgit"
)
$OutputResult = New-Object System.Collections.Generic.List[System.Object]
$TestCheckBoxes | ForEach-Object {
$global:configs.applications.Install.$psitem.winget -split ";" | ForEach-Object {
$OutputResult.Add($psitem)
$global:configs.applications.$psitem.winget -split ";" | ForEach-Object {
$OutputResult.Add($psitem)
}
}
$OutputResult = Sort-Object -InputObject $OutputResult
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked = $true}
$Output = Get-CheckBoxes -Group WPFInstall | Sort-Object
$Output | should -Not -BeNullOrEmpty -Because "Output did not contain applications to install"
$Output | Should -Not -Be $OutputResult -Because "Output contains duplicate values"
$Output | Should -Be $($OutputResult | Select-Object -Unique | Sort-Object) -Because "Output doesn't match"
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked | should -be $false}
}
$OutputResult = Sort-Object -InputObject $OutputResult
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked = $true}
$Output = Get-CheckBoxes -Group WPFInstall | Sort-Object
$Output | should -Not -BeNullOrEmpty -Because "Output did not containe applications to install"
$Output | Should -Not -Be $OutputResult -Because "Output contains duplicate values"
$Output | Should -Be $($OutputResult | Select-Object -Unique | Sort-Object) -Because "Output doesn't match"
$TestCheckBoxes | ForEach-Object {(Get-Variable $PSItem).value.ischecked | should -be $false}
}
Context "Set-Presets" {
$global:configs.preset | Get-Member -MemberType NoteProperty | ForEach-Object {
$TestCase = @{ name = $psitem.name }