macos-cookbook/TESTING.md

162 строки
8.0 KiB
Markdown
Исходник Обычный вид История

2018-03-11 09:14:29 +03:00
# Testing the macOS Cookbook
- [Syntax and style](#syntax-and-style)
- [Unit tests](#unit-tests)
- [Integration tests](#integration-tests)
- [Rake Tasks](#rake-tasks)
2018-03-11 09:14:29 +03:00
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
## Requirements
2018-03-11 09:14:29 +03:00
- [Chef Workstation](https://www.chef.io/downloads/tools/workstation)
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
- [Vagrant](https://www.vagrantup.com/)
- [Packer](https://www.packer.io/)
- A supported macOS hypervisor:
- [Parallels](https://www.parallels.com/pd/general/)
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
- [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
- [VMWare Fusion](https://www.vmware.com/products/fusion.html)
2018-03-11 09:14:29 +03:00
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
## Syntax and style
2018-03-11 09:14:29 +03:00
- `cookstyle`
2018-03-11 09:14:29 +03:00
Syntax testing is pretty straight forward. At the root of the cookbook, run:
```shell
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
cookstyle
2018-03-11 09:14:29 +03:00
```
## Unit tests
For unit tests, we focus on testing the library files, which are written
2018-03-11 09:14:29 +03:00
in pure Ruby and tested with RSpec. The library files contain most of the core
business logic for each of the custom resources and are used as either mixins
for the custom resources or contain classes that act as helpers, except with
explicit namespacing. Some libary files are heavily unit tested, others are definitely
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
missing much-needed unit test coverage. The following command syntax assumes
2022-04-08 01:39:31 +03:00
you've made the Chef Workstation `rspec` your default by running the appropriate
`chef shell-init` for your shell. (https://docs.chef.io/workstation/ctl_chef/#chef-shell-init)
2018-03-11 09:14:29 +03:00
Clone this repo and in the root of the cookbook, run:
```shell
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
rspec spec
2018-03-11 09:14:29 +03:00
```
To run the unit tests in a specific file:
```shell
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
rspec spec/unit/libraries/xcode_spec.rb
2018-03-11 09:14:29 +03:00
```
## Integration tests
For integration tests, we test custom resources using a test cookbook, found in
[`test/cookbooks/macos_test`](https://github.com/Microsoft/macos-cookbook/tree/master/test/cookbooks/macos_test).
In general, each of the custom resources is used in a corresponding test recipe,
which is then added to a corresponding suite's runlist. For example, the `xcode`
resource is used in the `xcode.rb` recipe, which is called in the `xcode` suite.
For the specific suite, there are corresponding integration tests as specified
in the suite. Every suite is tested against all three platform version.
### Building a macOS Vagrant Box
Due to Apple's Software License Agreement, you'll need to build your own boxes.
There's a number of different resources on GitHub that provide some really great
guides, but we're partial to [osx-vm-templates](https://github.com/timsutton/osx-vm-templates).
2018-03-11 09:14:29 +03:00
This procedure is a bit of a pain to really nail down. We've been working on
refining and automating it as much as possible, but regular changes to the macOS
operating system by Apple (e.g. signing restrictions introduced in 10.12.3) have
made this challenging.
Read the [osx-vm-templates README](https://github.com/timsutton/osx-vm-templates/blob/master/README.md)
2018-03-11 09:14:29 +03:00
thouroughly to get a clear understanding of what needs to be done to turn a "vanilla"
macOS installer into a shiny new, barely-touched macOS Vagrant base box. The process
is pretty different depending on which version you're building, so tread lightly.
It should be noted that we also maintain a [fork of osx-vm-templates](https://github.com/americanhanko/osx-vm-templates)
that contains a revised README and better support for building Parallels Desktop
Vagrant boxes. We're working on getting those changes implemented, but there is
a few issues that need to be addressed before doing so.
2018-03-11 09:14:29 +03:00
### Running the tests
Once you have finished building and "adding" your box (with `vagrant box add`),
you'll need to modify the `.kitchen.yml`. The only modifications you should
need to make are replacing our box names with yours. For example, you would
replace `microsoft/macos-monterey` with `my_macos_box`. To double check the
2018-03-11 09:14:29 +03:00
available boxes and their names, execute `vagrant box list`. For example:
```shell
$ vagrant box list
microsoft/macos-big-sur (parallels, 11.6.1)
microsoft/macos-catalina (parallels, 10.15.7)
microsoft/macos-high-sierra (parallels, 10.13.6)
microsoft/macos-mojave (parallels, 10.14.6)
microsoft/macos-monterey (parallels, 12.2)
2018-03-11 09:14:29 +03:00
```
Next, make sure you're in the macOS cookbook root and run `kitchen list` to view
the available instances. It should look something like this:
```shell
$ kitchen list
Instance Driver Provisioner Verifier Transport Last Action Last Error
default-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
default-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
default-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
default-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
software-updates-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
software-updates-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
software-updates-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
software-updates-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
spotlight-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
spotlight-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
spotlight-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
spotlight-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-apple-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-apple-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-apple-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-apple-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-url-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-url-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-url-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
xcode-from-url-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
command-line-tools-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
command-line-tools-catalina-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
command-line-tools-big-sur-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
command-line-tools-monterey-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
certificate-mojave-chef17 Vagrant ChefInfra Inspec Ssh <Not Created> <None>
2018-03-11 09:14:29 +03:00
```
The `kitchen list` command serves as a nearly-perfect way to validate the
`.kitchen.yml` syntax. For more info, check out `kitchen help` for commands and
run `kitchen help COMMAND` for help on a specific subcommand. When you're ready,
run `kitchen test`.
```shell
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
kitchen test
2018-03-11 09:14:29 +03:00
```
`kitchen` supports using regular expressions to only run a specific instance.
For example:
```shell
Release/3.0 (#193) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * Add deprecation notice for the machine_name resource (#146) * bump version to 3.0 for release branch * Drop chef13 support in .kitchen.yml * Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented * Remove El Capitan support Linting - Remove machine_name resource in favor of hostname resource in Chef14 (#145) * update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan * update inspec tests * remove live_stream option * Remove machine name custom resource and related tests * Add deprecation notice for the machine_name resource (#146) * Add spotlight spec test * Add back el-cap chef14 platform in .kitchen.yml * Release 3.0 will not support Chef 13 if this change is implemented - Remove El Capitan support - Remove useless assignment in security_test - Enable password hash unit test - Markdown linting - Fix headers - Remove dollar signs from code blocks that do not include output - Update 10.13.3 to 10.13.6 * Bump supported Chef version in metadata.rb to 14 * Remove machine_name resource documentation * Add Azure Pipelines YAML (#185) * Remove duplicate .gitignore from test cookbook * Add azure-pipelines YAML with Chef unit/lint job * Add suites and update kitchen.yml name * Add pipelines YAML to chefignore * Add parameter input for kitchenFile * Remove branch ref for templates repository * Remove Xcode recipe, tests, and documentation (#187) * Remove default recipe and fix ChefSpec test for disable_software_updates recipe (#186) * Delete default recipe and related spec * Fix failing ChefSpec test for disable_software_updates recipe * remove default Xcode version attribute * set test recipe Xcode version * Remove disable_software_updates recipe, related tests, and documentation (#188) * update mailmap * create readme and resource for macos_automatic_software_updates * remove vagrant.rb * change name of resource to automatic_software_updates * add new automatic_software_updates resource * add spec test for automatic_software_updates * change name of resource * group under one action block * update spec test to check for app_store * update property names * update property names in resource * update property name in spec test * update value entry to recieve user inputed property * add block to test both true and false * Add Action description to software_update.md * spec tests with seperate it blocks, work in progress * uploaded some working tests * update resource to pass spec tests * make path to software update plist a variable * lint and beautify * create app store plist variable * add test cases for error handling * add exception handling for spec test cases * add error handling to resource to check against bad configs * add disable_software_updates.rb * update software_updates_test.rb to include all resource values * make software-update test suite idempotent * add more content to resource_software_update.md documentation * update documentation name * remove old file * add example to documentation * remove disable_software_update recipe * Revert "remove disable_software_update recipe" This reverts commit e034db13a8dd349ac2dbc2fe2ec1133da650bdca. * cookstyle * add integration test for macos_test disable software update recipe * update integration test for software update with content * update README.md * Revert "update README.md" This reverts commit f1c2f881b739fc542317f610d697a96d5fe88590. * update README.md * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update documentation/resource_automatic_software_updates.md Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * Update spec/unit/resources/automatic_software_updates_spec.rb Co-Authored-By: v-anshie <v-anshie@microsoft.com> * update spec test plist path entries with variable for cleaner code -Mark Merin * remove duplicate test file with bad InSpec syntax * fix indentation, update wording, and add inline image of the preferences * update wording in documentation * Replace ard resource with remote_management (#191) * change class name from ARD to RemoteManagement * update resource name in test * update resource name * update method names * remote unused actions * make RemoteManagement a class, static methods * create remote_management resource to replace ard * remove configuration action, create contexts to check idempotence * update test recipe to be more explicit * update spec to use shared examples and contexts * add full privs mask to configured? guard * remove old library spec * update docs * remove duplicate conditional checking * refactor plist to plist_content * refactor configured? to configured_for_all_users_and_privileges? * remove parens * update build yaml to include software-update test suite * update test suite name in kitchen.yml * update changelog with 3.0 changes * fix run_list recipe to look in macos_test folder for recipe * update run_list for software-updates test suite * update azure-pipelines.yml test suites list (#192) * update azure-pipelines.yml test suites list * Fix test recipe name for software_updates suite * Update InSpec output file name to match azure pipelines template * Remove Chef version from platform name * Remove chefVersion from the matrix strategy * Revert chefVersion removal from matrix strategy * Revert "Revert chefVersion removal from matrix strategy" This reverts commit ac03f78bca40e153d9d0fe22e95140602cadf635. * fix keychain creation guard preventing multi-converge from passing * add exclude for url suite * Revert "add exclude for url suite" This reverts commit b5ea6220770a80979abeb44007644a3b3d87da6b. * add guard in azure-pipelines.yml for xcode version on sierra platform * Revert "add guard in azure-pipelines.yml for xcode version on sierra platform" This reverts commit 5a9460d7bcc7b9e98e87daaf96dd22b7973ee68b. * don't exclude sierra from xcode testing * add '9.2' version to sierra url install * update build badge in README.md * fix typo * add fix for keychain to changelog * add removal of machine_name to changelog * fix caps * move spotlight resource test to resource folder * note spotlight test additions * note removal of default attribute for xcode version * remove dup lines * add changelog updates * add mock data back * add more mock data back * Update resource doc links - Fix broken link for renamed resource - Remove link to machine_name documentation - Update formatting to match Chef's resource links * update xcode doc with auth steps * officially unofficial * remove extra lines between properties to match other resources * update CHANGELOG with correct El Capitan prefix * install rb-readline gem for pry compatibility with unit test guard https://github.com/pry/pry/issues/1577
2019-03-04 21:07:16 +03:00
kitchen test xcode # test the xcode suite on all versions
kitchen test default.*101[23] # only test default suites on 10.12 and 10.13
2018-03-11 09:14:29 +03:00
```
macOS takes a little while to boot and the suites themselves (especially Xcode)
can take a while to run - some of our builds end up being 30-40 minutes per operating
system. If you've got the hardware, don't be afraid to run
`kitchen test --concurrency n` to save a little time (where `n` is the number of concurrent
instances you want to boot up).
## Rake Tasks
Included are some convenient rake tasks for running particular batteries of tests. Just run `rake` to see a list of tasks available.
### Continuous testing with guard
We've included a Guardfile custom-tailored to run the appropriate unit tests whenever a file is modified. To get started, simply `bundle install && rake test:guard` and watch the appropriate tests run automatically as you edit source files!