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

43 Коммитов

Автор SHA1 Сообщение Дата
Jacob Zaval 080499c0de
Merge branch 'release/6.0.0' into feature/sonoma-clt 2023-10-17 17:40:40 -07:00
Jared Weyer 8891bd2571 Merge branch 'dev/jweyer/remote_management_updates' into release/6.0.0 2023-06-26 17:56:46 -07:00
Jacob Zaval e9d015e8cb always generate CLT demand file 2023-06-26 17:56:13 -07:00
Jared Weyer 7193381a3f grammar 2023-06-22 09:30:42 -07:00
Jared Weyer f022984b98 Merge branch 'dev/jweyer/remote_management_updates' into release/6.0.0 2023-06-20 11:38:08 -07:00
Jared Weyer 6b95fcfacf remove docs for the plist resource 2023-06-20 11:17:00 -07:00
Jared Weyer f4bde4fef4 updates to docs 2023-03-14 10:00:50 -07:00
Jared Weyer cd44050d3c update the documentation for the remote management resource 2023-03-09 09:36:26 -08:00
Jacob Zaval 8017924d35 format docs 2022-04-14 12:53:11 -07:00
Jacob Zaval f1d872feec align certificate and keychain property names, refactor securitycommand 2022-04-07 15:20:50 -07:00
Jacob Zaval b252d2f4e6
Merge pull request #254 from microsoft/feature/xcode
update `xcode` to not use attributes, only auth dev account if out-of-date
2022-03-11 00:06:44 -08:00
Jacob Zaval 5cf741454e
Merge pull request #251 from microsoft/feature/macos-user
update macos_user to support secure tokens and sysadminctl errors
2022-03-07 17:48:04 -08:00
Jacob Zaval 928fd8099c update CL and docs 2022-03-07 17:43:04 -08:00
Brantone 5822d66dbf
Merge branch 'release/5.0.0' into update-docs 2022-03-07 13:31:52 -08:00
Brantone 18d66a0e2e Update docs with correct and new propery 2022-03-07 13:25:34 -08:00
Jacob Zaval c68a1113c5
Merge branch 'release/5.0.0' into add-sensitivity 2022-03-07 08:49:58 -08:00
Brantone 03813ea930 Add options for sensitivity where password is present. Fix docs for keychain kc_file 2022-03-06 17:58:55 -08:00
Jacob Zaval d1d6b8dbf2 docs typo 2022-03-04 20:07:57 -08:00
Jacob Zaval e65ec101da update macos_user docs 2022-03-04 20:00:29 -08:00
Jacob Zaval 61e209129c Merge pull request #248 from microsoft/feature/keychainfix
QOL Improvment: Remove dependency on attribute and use property instead for keychain password in certificate resource
2022-03-04 17:33:23 -08:00
Jacob Zaval 2c8064151d
Merge branch 'release/5.0.0' into feature/lint 2022-03-04 15:24:36 -08:00
Jacob Zaval 92b864a2f8 obey new rubocop rules 2022-03-04 12:36:17 -08:00
Mark John Merin 967ca169e1 update certificate resource documentation 2022-02-25 13:51:52 -08:00
Jacob Zaval 904376c3af update docs 2019-12-06 16:05:12 -08:00
Jacob Zaval 835b8168ce
Release/3.0.1 (#196)
* Do not set :restartpowerfailure pref on portables (#195)

It is not supported on portables.

* Correct documentation of xcode resource attribute key (#194)

* Correct documentation of apple_id attribute key

* Add security suggestion to xcode resource doc

* bump version

* update CL

* update CL
2019-03-26 11:15:31 -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
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
v-anshie 7a68c4b2d1 update documentation with mode property 2018-12-20 16:03:28 -08:00
Andre Shields f54ccaa986 updated documentation witn owner/group change 2018-12-12 15:13:53 -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 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
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
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 544c1dd142 update docs 2018-04-03 10:48:27 -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 377bd1ad6b
Opportunistic updates to README and plist doc 2018-03-12 11:42:37 -07:00
Eric Hanko 325b0bede6
Implement coverage for more use cases
- Change domainname property to dns_domain
- Add support for conforming a name that contains special characters,
but still replace whitespace and underscores with hyphens
- Add support for conforming a name that ends with special characters
- Add more unit tests
- Add documentation for the changes
2018-03-10 19:26:49 -08:00
Mark John Merin 5818b6758b Fix typo 2018-03-01 14:18:44 -08:00
Mark John Merin 4d9f8252ac Add documentation outlining usage of the new certificate custom resource 2018-03-01 14:16:08 -08:00
Eric Hanko 6e8db283df
Release 1.5 (#43)
* Feature/useraddtogroup: macos_user new property "groups" (#41)

* Add smoke test for new property "groups" for macos_user resource

* Add new macos_user that utilizes the new "groups" property

* Add new property for macos_user called "groups"

groups property will take a String or an Array

* Idempotent "machine_name" resource + docs

- This commit includes a revamped machine_name resource along with some other magical additions. The additions include a software_updates helper, abd a re-working of the `binary?` plist action_class method
- More realistic version bump
- Documentation for machine_name resource
- Better test for machine_name resource (fix macOS version test bug)

* update relative paths for documentation for Supermarket shoppers

* add backticks

* remove delivery; fix keep_awake idempotence bug
2018-02-12 12:23:41 -08:00
Jacob Zaval 1492655a9d
Release macOS cookbook 1.2.0 (#36) 2018-01-28 14:23:38 -08:00
Jacob Zaval 3ca39c8237 Release plist and macos_user resources, new Xcode libraries, test cookbook and documentation. (#24)
* first commit plistbuddy

* all recipe/plist in macos

* extract plistbuddy to resource

* Straighten out unit tests

- Correctly include modules
- Correctly setup spec_helper
- Correct unit test / respec setup

* first passing test

* add more data type tests

* Most data types passing

- Boolean values are working
- Array and data type values are not
- PlistBuddy "commands" (add, print, etc.) are passing

* More testing

- Skip Array and Dict types as their implementation will be more
complicated
- Add test for float type
- Put the correct type in the test description
- Cookstyle changes

* PlistBuddy and testing update

- Add separate test cookbook for PlistBuddy resource
- Add kitchen.yml for the above purpose
- Modify and update plistbuddy resource/helpers

* remove extra newline

* add metadata file

* edit metadata; add Berksfile

* move Berksfile to correct location

* add testing requirements for berks vendor

* move kitchen file

* Converge passing in test cookbook

- Opportunistic cleanup of xcode test
- some temp debugging info in resource definition
- Rename name_property to command so as to not override action

* Itempotence

- Removed 'bool' prefix from boolean types, as that was somehow causing
issues
- Changed name_property to the path and removed that property
- Use actual actions in the resource for the PlistBuddy commands

* Fix false positive?

- Not sure how the previous test was passing previously, but I adjusted
the boolean value for the BazEntry test so that the signature input
matches the output

* Add logic for adding a value

- The data type should only be used when adding a value to a plist.
Otherwise, we don't need to use the data type

* remove debugging; fix smoke tests

* remove .kitchen.yml

* bump version to 0.8.5

* unskip ChefSpec tests - they're passing

* mark args_formatter as private method

* Feature/macos user (#14)

* first commit add_user recipe

* Testing Refactor & macos_user resource

- Create new testing cookbook that contains tests for both plistbuddy
and macos_user resources. The hope here is to have a single testing
cookbook that contains multiple suites and suite testing variations
- Create new macos_user resource - contains single boolean 'true'
settings for autologin and admin user. Still work to be done for admin
user and all steps that need to be taken to acheive the task.

* fix method call

* fix another method call

* user native ruby File class and not overriden

* fix some minor issues with resource; add kcpassword file

* Add OG Ruby kcpassword file helper module

* slightly different approach for Kcpassword module

* passing test

* Fix up kcpassword library module, smoke tests

- Modify Kcpassword helper module to use a method for
magic bits. This isn't ideal, but it works for now
- Update smoke tests so that john_jr's group ID is 20. This
may not be correct, but setting as 20 until it is further
investigated

* opportunistic refactor of keep_awake recipe

* Refactor testing cookbook layout

- Consolodate testing suites into single default suite
- Add tests for keep_awake recipe
- Use more common examples to test PlistBuddy resource

* move xcode test to test cookbook

* Opportunistic bug fix for plistbuddy resource

- Previously, the plistbuddy resource did not allow
any keys with spaces unless they were used in the value itself.
Now, you can use keys with spaces in the value property
without needing to double-quote it
- Also, fix the PlistBuddy executable string to be correct

* revert kcpassword.rb helper to a671164

* fix incorrect PlistBuddy data type name

* Fix kcpassword.rb and update plistbuddy UTs

* Extract disabling screen saver to plistbuddy

- Also, skip Xcode test temporarily

* PlistBuddy idempotence

- Remove systemsetup and pmset resource calls in keep_awake
until they are made idempotent

* update test and plist name

* Implement binary plist conversion

- Changes to binary plists via PlistBuddy must be converted back
to binary since the change implicitly converts the file to xml.
This change contains logic to convert back to binary if the file is
detected to be binary in the first place.

* attempts at idempotence using chef helper methods

* early commit to get it on the remote

* implement logic for plist return type to ruby data type

* Add floating type value support

A wild FAILING TEST appeared!
...
HANKO used TDD!
It's super effective!

* move function

* real idempotence!

* passing all unit tests

* update test cookbook name

* update new_users integration tests

* systemsetup idempotence

* all smoke and unit tests passing

* quick fix for timezone bug

* remove kcpassword file as it is no longer needed

* update path for test cookbook to be default repo name

* Rename keep_awake_spec.rb to keep_awake_test.rb

* Rename preferences_spec.rb to preferences_test.rb

* Rename new_users_spec.rb to new_users_test.rb

* fix typo

* Use relative path for macos cookbook source

* Improve readability of relative path for macos cookbook source

* Bump version

* Addressing changes in Pull Request #14

- Fix bug where screensaver was not properly being disabled, update
tests accordingly
- Rename plistbuddy resource to plist, including all related files
and callers
- Rename kcpassword helper to macos_user to match helper -> resource
convention; fix top level namespace to be MacOS
- Correctly name recipe unit tests
- Implement plist resource into disable_software_updates.rb recipe
- Add disable_software_updates.rb recipe to default kitchen suite and
appropriate smoke tests
- Remove relatively useless logic in systemsetup value property coercion

* Implement binary plist conversion

* Fix unit test and apply the Law of Demeter

* update helper pattern to match current standard; include everywhere

* remove helper reference in Xcode resource

* bump version

* update Xcode attribute to latest

* extract xcode smoke tests to a different suite

* update xcversion path for simulators test

* update namespace again

* refactor XcodeHelper modules in XCVersion, Xcode, and XCVersion modules

updated methods to simplify site calls in resource

* updated method calls for new modules

* bump version

* extract xcversion module to separate library file

* add missing macos module

* include parent module macos instead of child for xcode and xcversion

* update available_simulator_versions to new method

* bump version

* add platform-specific smoke test for xcode

* add xcode test recipe

* update kitchen with xcode suite

* refactor simulator method to call it's own available list of simulators

* use new simulator method to find highest available version

* move xcode prep work into the setup action

* clear kitchen customizations

* lazily evalutate ios simulator property

* move lazy evaluation to simulator action in xcode resource

* revert lazy execution

* warn and retry if simulator list is empty

* restore spacing

* more whitespace

* refactor highest_semantic_simulator method into class, smaller methods

* implement simulator class

* add more xcversion command methods

* implement xcversion command methods

* implement command methods correctly

* add list methods for xcversion

* implement xcversion list methods

* implement install xcode correctly

* reorder methods

* add method to list installed xcodes

* use more descriptive name for 'command' method

* move where the space lives

* implement installed xcodes command

* implement install xcodes correctly

* disable downloads prior to disabling software update check

* Renamed name to device_name

* Change name.rb to machine_name.rb to be similar with the apex
automation cookbook. Instances of name are also all changed to
machine_name.

* Add new test recipe and smoke test for machine_name.

* add disable-swu test suite

* Bump up cookbook version numbers.

* update kitchen test suite order, remove standalone swu testing

* add sleep for El Capitan platform to avoid race condition

this occurs when integrated with the macos-user test recipe

* Improve README/Documentation (#23)

* implement build definition badge and minor tweaks

* Add descriptions and attribute lists for recipes

* Remove 'description' label from recipe names

* Bump version, add documentation dir

* Fix up the last commit

* Separate 10.12 and 10.13 build status

* Add table for build status

* Add plist resource documentation

* Add Xcode documentation

* bump version
2017-12-14 11:03:03 -08:00