Граф коммитов

148 Коммитов

Автор SHA1 Сообщение Дата
Eric Hanko e886717730 Add unified_mode true to all resources and update CHANGELOG 2021-06-04 13:54:22 -07:00
Jacob Zaval 1d992aad66 cookstyle 2021-02-10 13:09:15 -08:00
Jacob Zaval f3cc24c11d update macos_user resource to unlock screen if autologin is enabled 2020-08-05 14:05:49 -07:00
Jacob Zaval 3c1f4ee312 manual gem install 2020-08-04 16:41:53 -07:00
Jacob Zaval 40d6e2f741 install xcode-install with command line tools 2020-08-04 11:15:19 -07:00
Jacob Zaval 6acd486359 cookstyle fixes 2020-06-18 14:04:50 -07:00
Tim Smith f4844d9484 Cookstyle fixes to the properties
Use true/false for readability
Don't set desired_state: true since that's just the default

Signed-off-by: Tim Smith <tsmith@chef.io>
2020-03-04 16:47:32 -08:00
Jacob Zaval cfbcfcdef4
Merge pull request #216 from microsoft/feature/plist-dicts
Implement basic dict support for plist resource
2019-12-09 11:32:24 -08:00
Jacob Zaval 587523d74f update to refactored method name 2019-12-09 10:28:55 -08:00
Jacob Zaval 3b9f8cd2cd add test for upgrade action 2019-12-06 15:43:02 -08:00
Jacob Zaval de21f14bf1 create upgrade action that evaluates current version versus latest 2019-12-06 15:30:24 -08:00
Eric Hanko b89bfd25e4 add basic support for plist dict entires 2019-11-09 13:02:47 -08:00
Jacob Zaval 0e0b927e35 Merge branch 'master' into release/3.1.0 2019-09-26 14:51:33 -07:00
Jacob Zaval 9c04945e68 verbose output for xcode install 2019-09-25 15:29:25 -07:00
Jacob Zaval 880d00e1f8 pass unit tests 2019-09-25 14:53:56 -07:00
Jacob Zaval 50b5257a04 rewrite compatible_with_platform to not use sugar 2019-09-25 14:29:20 -07:00
Jacob Zaval 677c44a868 add fix for Catalina and chef 15 2019-09-11 17:22:03 -07:00
Eammon Hanlon 665c4ac3a3 Add workaround for circular dependency on gmake 2019-08-13 21:38:23 -07:00
Jacob Zaval 72bef17087
Fix Xcode beta installs and build pipeline (#203)
* Glorious TDD

* Glorious TDD - Pt. 2

* Update version and CHANGELOG

* create failing test for beta path issue

* fix failing test

* all tests passing

* add chefspec tests

* add with syntax to check actual mv command

* fix beta xcode path again

* Cookstyle linting

* update tests for subsequent betas

* update expectations

* pass tests

* bump

* bump

* change version property to box_version (#201)

* update boxes

* use @version

* bump

* use explaining variable for beta iteration, make regex case insens

* update CL

* update Xcode tests

* remove sierra testing

* Update platform names to include Chef version

* Remove CI triggers for Release and Hotfix

* Update build to use test-kitchen.yml jobs template

* Add ChefSpec, CookStyle, Foodcritic job, and update parameters
2019-08-02 15:43:01 -07:00
Jacob Zaval 51012afc7d
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 f1c2f881b7.

* 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 ac03f78bca.

* fix keychain creation guard preventing multi-converge from passing

* add exclude for url suite

* Revert "add exclude for url suite"

This reverts commit b5ea622077.

* 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 5a9460d7bc.

* 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 10:07:16 -08:00
Mark John Merin e468bb8c67 Hotfix/2.10.1 (#182)
* bump version to 2.10.1

* allow machine_name resource properties (except computer_name) to handle nil states

* update changelog with bug fix change details

* modify test recipe to set hostname to nil without using the machine_name custom resource

* account for nil values in machine_name resource properties

* bump version in changelog

* use a ternary statement instead of if else
2019-01-30 15:04:43 -08:00
Eammon Hanlon 51329e4dfe Release/2.10.0 (#179)
* Bump cookbook version in metadata.rb

* Add `command_line_tools` resource (#176)

* Update kitchen.yml to use 10.14.2 box

* Add command_line_tools resource

* Remove installed? check in command_line_tools library

* Add command_line_tools suite

* Add guard on execute block for command line tools

- Add ChefSpec tests for command_line_tools
- Update unnecessary tests from xcode_spec for command line tools resource

* Cookstyle fixes

* Add documentation for command_line_tools resource

* Add link to Command Line Tools doc in README

* Update documentation/resource_command_line_tools.md

Co-Authored-By: ehanlon <eahanl@microsoft.com>

* Bump default Xcode version in attributes file (#178)

* expect correct hash for string "correct-horse-battery-staple" (#177)

hash was originally for "correct-horse-battery-staplesudo"

* Update CHANGELOG

* New Xcode Property: download_url (#180)

* version bump

* Add functionality for --url support

xcode resource has a new property called download_url.

Most of the changes were done in xcversion which included a new
routine called xcode_install_options.

* fix rspec errors as Xcode.new was given one less argument

* add spec tests to check download_url setting

* add spec tests to check download_url setting

* add spec test to test for the original behavior if download url is left blank

* update xcode documentation

* update changelog

* Update libraries/xcversion.rb

Rename xcode_install_options to download_url_option

Co-Authored-By: mjmerin <33106688+mjmerin@users.noreply.github.com>

* Update libraries/xcversion.rb

Rename xcode_install_options to download_url_option

Co-Authored-By: mjmerin <33106688+mjmerin@users.noreply.github.com>

* update routine name

* update xcode docs to provide an example of installing xcode from a local url

* Add missing '=' for --url

* Add separate integration tests for installing Xcode from Apple or from URL

* Validate download_url property to prevent requirement for Apple Dev creds to be provided

* Update ChefSpec tests

* move XCVersion expectations to their own file

* change version tests to cover apple to semantic conversion expectations

* update formatting

* remove nil guard since the resource default is an empty string

* add another test for ignoring Apple version

* update test version

* update Xcode controls

* Only run xcode_from_apple suite on Mojave

* Update Inspec reporter

* Ensure suite names have dashes instead of underscores

* require some sugar

* add method to determine platform compatibility for xcode object

* add platform-specific expectations to xcode spec

* raise exception based on  compatibility method

* don't require that Xcode be initialized with empty URL string

* unchain version

* don't run Xcode URL install for Sierra

* Apply suggestions from code review

Co-Authored-By: ehanlon <eahanl@microsoft.com>
2019-01-17 16:45:23 -08:00
Eric Hanko e067a11a0d
Implement mode property properly. Hopefully.
Paired with Chris Gilbert, Andre Shields, Carrol Fifer
2018-12-19 15:40:21 -08:00
Eric Hanko 020bc68dc8
declare plist content as separate variable 2018-12-11 10:42:16 -08:00
v-anshie 5901edde6e spelling error 2018-12-07 15:31:30 -08:00
Jacob Zaval 66606cffea
Update resources/plist.rb
Co-Authored-By: v-anshie <v-anshie@microsoft.com>
2018-12-07 13:38:20 -08:00
Eric Hanko 2cdf4af03d Add support for owner/group to plist resource
- Paired with Andre Shields and Chris Gilbert
2018-12-07 11:12:48 -08:00
Jacob Zaval ac79dec338
Release/2.7 (#160)
* bump version

* Fix #63 (#152)

* refactor screensaver class disabled method

* fix indentation

* delete some unit tests

* don't smoke test UID when testing user resource (#153)

* remove uid testing

* remove multi-converge, added to idempotency branch

* Add multi-converge testing for all suites, idempotency for select suites (#155)

* remove uid testing

* add multi-converge for all test recipes

* remove sleep

* just see if multi-converges pass

* add idempotency testing for specific suites

* add guard in spotlight test recipe

* guard against last test disk

* add a case if the index is in an unknown state

* add a sleep to allow indexing server to chill out

* add a 3rd converge

* create volume object in guard

* 2 converges for now

* increase sleep to allow indexing state to settle down

* enforce idempotency for spotlight

* add guard to test recipe item

* fix bug

* remove idempotency testing for xcode

* set three times

* Enforce idempotency for default ARD resource actions (#157)

* remove uid testing

* add multi-converge for all test recipes

* remove sleep

* just see if multi-converges pass

* add idempotency testing for specific suites

* add guard in spotlight test recipe

* guard against last test disk

* add a case if the index is in an unknown state

* add a sleep to allow indexing server to chill out

* add a 3rd converge

* create volume object in guard

* 2 converges for now

* increase sleep to allow indexing state to settle down

* enforce idempotency for spotlight

* add guard to test recipe item

* fix bug

* remove idempotency testing for xcode

* set three times

* add guard for ARD activation

* implement very basic guards

* add some unit tests for the ARD module

* remove some whitespace

* fix stub

* demystify magic mask string

* Feature/fix doc links (#158)

* update ard resource documentation

* more updates to ard resource docuemntation

* update certificate resource doccumentation

* update keychain resource doc

* update plist doc

* update spotlight resource doc

* update xcode resource doc

* change link location and fix syntax mistake

* add 2.7 changes to changelog (#159)

* add 2.7 changes to changelog

* add link to broken links issue

* add more details to changelog

* update CL

* Update CHANGELOG.md

Co-Authored-By: jazaval <jazava@microsoft.com>

* Update CHANGELOG.md

Co-Authored-By: jazaval <jazava@microsoft.com>

* remove whitespace

* grammar fix

Co-Authored-By: jazaval <jazava@microsoft.com>

* grammar fix

Co-Authored-By: jazaval <jazava@microsoft.com>

* grammar fix

Co-Authored-By: jazaval <jazava@microsoft.com>

* grammar fix

Co-Authored-By: jazaval <jazava@microsoft.com>
2018-10-26 20:22:22 -07:00
Jacob Zaval 39287f41c6
Release/2.6 (#147)
* added 2.3 changes to changelog

* added more to changelog

* added more to the changelog

* version bump

* added smoke test for ard.rb resource

* updated xcode version to 10.0 in default.rb

* update syntax in ard_test.rb, added mojave test suites, removed test suites for el capitan

* update to test cookbook xcode.rb to include mojave

* update xcode.rb for mojave support

* use default xcode recipe for testing

* regex for platforms supporting the current Xcode

* add remote access suite, create test recipe for ard, implement smoke test

* update ard resource default action, and control

* add el cap

* update inspec tests

* improve the ARD smoke test

* Use more meaningful values instead of magic numbers (#139)

* - Add definitions for each of the kickstarter bits, except for observe_only bit 8
- Use the definitions for the test

* Respond to PR comments and clean up inspec matchers

* remove unneeded tests

* add a test for activation check

* update title and description of remote-control control

* remove live_stream option

* update to changelog (#140)

* updated CHANGELOG.md with 1.9-1.13

* add 1.6-1.8 to changelog

* add 1.2-1.5 to changelog

* remove extra lines and 2.5 template

* remove extra 2.4 header

* Prevent additional Command Line Tools from appearing in softwareupdate (#143)

* delete sentinel file after CLT install

* update spec with output from Mojave

* update expectation

* add method to determine macos version

* refactor available method name

* add method to install latest platform specific clt

* add integration test to verify bug 142 is resolved

* run new control

* add spec test for high sierra

* detect platform specific CLT with the highest Xcode version

* stub swu output instead of available

* test and expect Xcode 10 instead of 9.4.1

* use new xcode list from Apple, fix find and replace typo

* Add deprecation notice for the machine_name resource (#146)

* updated changelog

* update high sierra boxes to latest (#148)

* fix foodcritic issue 009 with spotlight resource

* remove xcode-beta suite. see ya next year, WWDC

* update changelog with cinsistency

* update mojave box version
2018-10-04 14:46:56 -07:00
Jacob Zaval 74177c45c3
Release/2.5 (#137)
* bump version

* update Xcode documentation

* Implement 'path' property for Xcode (#136)

* first pass at supporting path property

* clarify path_hash to more descriptive version_path_map

* refactor path method to give valid output before xcode is done

* add chefspec for Xcode resource

* fix ShellOutNotStubbed error in SWU recipe spec

* unify smoke tests for beta and non-beta xcodes

* refactor CLT install, move guard into CLT class and update spec to pass

* update spec tests to separate concerns with xcversion output and authentication

* update classes and resources to pass tests

* fix inclusions

* include entire MacOS module

* specify permissions for CLT sentinel file

* remove laziness of commandlinetools detection, use FileUtils to manage

* update the spec to have FileUtils handle sentinel

* exclude non-beta compatible platforms

* restore xcode beta smoke tests

* Revert "exclude non-beta compatible platforms"

This reverts commit 4851ae1c71.

* update changelog
2018-09-11 09:36:04 -07:00
Mark John Merin affd2b4a03 Use macosx_service for spotlight server on/off (#133)
* bump release date

* use macosx_service to load/unload the spotlight server

* Change macosx_service to just service from Tim's suggestions
2018-08-16 11:05:58 -07:00
Mark John Merin eef5f5b571 Fix for Issue #45: Spotlight resource does not verify metadata server is running (#126)
* minor refactor

* split out the mdutil -s command for testability

* add additional functions that check that the server is disabled and a toggle function

* move MetadataUtil object outside the execute block so that it can be used by multiple execute blocks such as the new one used to enable the server

* modify the integration test to turn off the server as its first action

* update spec tests for the new possible state

* Responding to code review comments

- Removed the additional state in mdutil_possible_state
- Shift the mdutil output parsing to server_disabled
- Make mdutil_output a attr_reader so that we can now remove
  the volume parameter

* remove the excess parameter

* remove un-needed spec test for the additional possible state
2018-08-15 13:00:07 -07:00
Jacob Zaval 63782b44bd
Release/2.3 (#121)
* add new box names to kitchen.yml

* remove always install strategy since our boxes are clean now

* don't run APFS commands on new box

* make disk image volumes instead of partitions

* update base boxes (#119)

* add new box names to kitchen.yml

* remove always install strategy since our boxes are clean now

* don't run APFS commands on new box

* make disk image volumes instead of partitions

* Fix for Issue #107: User Deletion (#117)

* delete user fix. #{user} is never actually used. Also used an array for command

* add a seperate test suite for testing user deletion

* Add a seperate recipe for user deletion that does not use macos_user resource for user creation

* Use password to unlock keychain (#120)

* Fix for Issue #96: Hidden Users (#118)

* add functionality for hidden user support

* Add a new user called griffin to the new_user recipe for hidden user testing

* Add test suite for hidden user testing

* add some documentation

* Respond to code review comments

1. Update user hiding execute block to check for IsHidden as a guard
2. Don't use mv and instead use FileUtils
3. Change hidden property to accept false or true, right now we ignore false
4. Fix integration test to look for griffin's home in var

* bump version

* update latest stable version of Xcode

* update beta version of Xcode

* Use explicit box versions in kitchen.yml

* update smoke tests
2018-07-06 16:58:59 -07:00
Jacob Zaval 39445b7880
Release/2.2 (#115)
* bump version

* update hostname property to comply with FC115 (#112)

* Adding guard config and rake tasks for testing convenience (#113)

Here's the list of rake tasks:
```
rake test:all          # Run all tests in the following order: Lint => Critic => Unit => Integration
rake test:cleanup      # Cleanup various artificats like lockfiles and running kitchen instances
rake test:critic       # Run Chef's cookbook linter, foodcritic
rake test:deploy       # Apply the cookbook to the running kitchen instances
rake test:guard        # Start `guard` for continuous testing
rake test:integration  # Run the integration tests start to finish
rake test:lint         # Run Chef's code-style linter, cookstyle
rake test:lintfix      # Run Chef's linter and attempt to auto-correct offenses
rake test:provision    # Spin up the kitchen instances for integration testing
rake test:unit         # Run the unit tests
rake test:verify       # Run the integration tests against already running kitchen instances
```

The Guardfile config is configured to run any library, recipe, or custom resource file's corresponding unit test(s) under `spec/unit/` whenever a file change is detected. Just run `bundle install && rake test:guard` to install the guard gem and start watching for changes.

* update InSpec control filenames (#114)
2018-05-29 12:08:05 -05:00
Jacob Zaval 923ab69718
Release/2.1 (#111)
* bump version

* Fix autologin functionality on 10.13.4 (#110)

* add tests for setup assistant keys and 'lastUser' loginwindow key

* refactor user_home

* refactor setup_assistant_plist

* add new setup assistant keypairs

* add and implement login_window_keypair_values
2018-05-16 10:18:40 -07:00
Jacob Zaval 465c29d5f7
Release/1.13 (#102)
* bump version

* New Keep Awake Tests (#99)

* Add test case for portable bare metal

* rename systemsetup to system

* Fix spec_helper to use system

* cookstyle changes

* Add CONTRIBUTING.md and reference Contributing to Chef Managed Community Cookbooks (#97)

* Add keychain guards (#100)

* update keep_awake documentation regarding spec testing (#101)

* refactor location of shared_examples

* don't stub git

* don't test library specific methods in recipe testing

* remove nil and any references to node attributes in system library

* add tests for when node attributes are nil

* make variable names more descriptive
2018-04-25 10:32:20 -07:00
Eric Hanko cb551382c9 Release/1.12 (#95)
* split up keychain resource into its own suite

* Modify security library for new keychain resource
Create new keychain resource

* test recipe for keychain resource

* preliminary documentation for keychain resource

* Add smoke and inspec tests

* cookstyle -a fix

* Add basic integration tests

- macOS 10.11.6 stores the keychain differently than 10.12 or 10.13.

* Get test to pass with correct way of checking for OS version

* test code for the new keychain resource

* simplify down to basic keychain support for now

* Update readmes

* edit documentation on the keychain resource

* Fix up integration and tests and recipes

* Remove default and login keychain capabilities for future use

* Remove unneeded routines

* Fix for Issue 85

When query_type is 'read', modify our regex to do an exact match
on expected_value. Proceed as it was, when not.

* Refactor: Introduce two new classes Power and ScreenSaver

* Deal with some consequences of the systemsetup refactor for Rspec tests

* Refactor of systemsetup library

- Put machine_model and virtualization_systems in initialize method
- Remove power_button_model and replace with desktop? and portable?

desktop?: Verfiies that the machine_model is either a MacMini, MacPro
or iMac

portable?: Verifies that machine_model is a Macbook

* replace guard of power_button_model to desktop?

* Fix failing spec tests

* Cleanup commented out code and make sure virtualization_systems uses class variables

* Introduce new Environment class

* Check for Chef.node.nil instead of the attribute for FormFactor
Change desktop? to use machine_model instead of Chef.node['hardware']['machine_model']

* spec test testing FormFactor and ScreenSaver classes

* fix check for Chef.node.nil?

* Fix up ScreenSaver class to initialize the user on object creation. This makes cleaner rspec tests for the query routine

* add more ScreenSaver class unit tests

* remove unused spec tests

* Add spec tests for Environment class in systemsetup library

* add readme for macos_user resource

* Add missing macos_user documentation
Update README.md to point to new macos_user documentation

* Fix typo

* Change Macos to macOS

* Skip disk sleep integration tests, update README

- We are skipping the disk sleep tests temporarily since there have been
intermittent failures with that setting in particular. We think it may
be a race condition or potentially a bug with `kitchen test`
- Update the README to include the parallel CI badge -- the current
build definition tests the entire kitchen test matrix in parallel
- Update the README with the correct Xcode recipe attributes

* add multiple converge to power management suite

* don't skip the disk sleep tests

* - Use .empty? checks
- Change property_is_set? to new_resource.property_is_set.

* make disk sleep Never the default

* update pmset smoke

* Show nightly master build badge
2018-04-16 12:08:24 -07:00
Jacob Zaval 77857ff50f don't attempt to call `property_is_set?` from provider 2018-04-05 15:13:02 -07:00
Jacob Zaval c2c6e15b7a remove duplicate 'iOS' 2018-04-04 14:32:45 -07:00
Jacob Zaval bf57dc4302 don't use arg for included_with_xcode 2018-04-03 13:25:16 -07:00
Jacob Zaval 3e42daf7c0 implement included_with_xcode? 2018-04-03 13:24:47 -07:00
Jacob Zaval dc3fc50317 use instance method for included_major_simulator 2018-04-03 13:18:29 -07:00
Jacob Zaval 57078b3dc8 make Simulator installation the same model as Xcode 2018-04-03 12:02:57 -07:00
Jacob Zaval b2fbc3b694 refactor Simulator implementation 2018-04-03 11:56:09 -07:00
Jacob Zaval 203b335f26 update Xcode class to handle credentials 2018-04-02 15:10:40 -07:00
Jacob Zaval 24c3e78300 make Xcode module a class, update spec and implementation 2018-04-02 10:25:37 -07:00
Eric Hanko 68eb38ba42
Release/1.10 (#82)
* Split up user test to its own test suite

* add delay when user is created

* move the users smoke test into a user directory for test suite

* Remove commented out flush

Safer to use the half second sleep than a flush after every
creation since they both have had the same results.

* Adds cherry-picked changes from a local commit

- A few minor changes to test recipes
- Addition of full integration test suite using InSpec profile structure

* general refinement and polishing; delete old smokes

* Fix up some integration test bugs with hostname

* add insurance test for software updates

* fix integration test

* create CommandLineTools to parse SWU output

* create sentinel file to trigger CLT install, cleanup after install

* add available_command_line_tools to simplify initialization

* implement CommandLineTools.product, control sentinel file with chain

* use squiggly heredoc to make indentation match SWU command output

* use full list argument

* bump version

* increase timeout of install execution to 2 hours

* add find_apple_id method to check data bags and node attributes

* implement find_apple_id

* remove non-functioning method

* don't use rescue twice

* address comments in PR

* suite names get converted to hyphens anyway

* update Xcode documentation

* revert incorrect simulator tests

* Fix 10.11 build badge url; fix recipe usage syntax

* remove rubocop.yml from gitignore

* add rubocop yaml
2018-03-26 14:06:33 -07:00
Eric Hanko 0db78307ef
Release/1.9 (#73)
* Add documentation detailing new certificate resource changes incorporating the -T option

* modify security library and certificate resource to accomodate -T option

* Testing for new and improved certificate resource

* Fix Chef Spec tests

* bump version to 1.9.0

* hotfix for plist encoding type utf-8

* move plutil_format_map to libraries

* using Chef::Application.fatal to enforce encoding types

* add one second after each systemsetup call

* Add support for more hypervisors in keep_awake

- Leverage the node['virtualization']['systems'] ohai attribute to
determine whether we are a guest or a host
- Add appropriate chefspec tests

* Add another context for empty virtualization hash

* bump to 1.8.1

* ensure xcode-install gem is in Chef embedded even if ChefDK is present

* adjust implementation of running_in_a_vm?

* fix rspec shared context

* re-arrange chefspec keep_awake unit tests
2018-03-21 15:20:39 -07:00
Eric Hanko f21c321c66
Remove NetBIOSName support from machine_name
Due to issues with setting this value (and presumably because we are not
dealing with domain joining at this point), support for NetBIOSName and
the plist modification is being removed.

Not only was this value causing idempotence and convergence issues, but
the changes were not reflected in the GUI and sometimes even the plist
itself after it was modified and had been through testing.

Signed-off-by: Eric Hanko <v-erhank@microsoft.com>
2018-03-12 15:32:57 -07:00
Eric Hanko d8c42281a9
Use more descriptive method name for DNS
- Rename 'conform_to_rfc1034' to 'conform_to_dns_standards' to make it a
bit clearer what is happening. Credit Eammon Hanlon.

Signed-off-by: Eric Hanko <v-erhank@microsoft.com>
2018-03-12 11:46:32 -07:00