dellcloudedge/barclamp-crowbar — pull request #313 by cloudedge (2012-12-31 18:56:22+00:00)
Title: Node-Attrib relationship work and tests [1/1]

This pull changes the node-attribute relationship from a HABTM to a HasMany with Value.

The basics of this relationship where in place but major object and API work was
needed to ensure that it functioned correctly.

There is still pending work so that you can set Values for Node Attibutes. This is mostly test work so
I am pulling in work so others are not blocked by the change.

Most notably: we changed from "Attribute" to "Attrib" to avoid naming collisions.

That change along caused MAJOR code changes, but relatively little changed functionality.

I refactored BDD in several ways
1) all test notifications go through the logger (which is much cleaner)
2) created infrastructure for the "unless" step type (but this is not completely working yet)

Note: I am starting to stage work to move the docs as described on the list. This is only
at the very early stages but there are some related file additions to support this.

This pull changes the node-attribute relationship from a HABTM to a HasMany with Value.

The basics of this relationship where in place but major object and API work was
needed to ensure that it functioned correctly.

There is still pending work so that you can set Values for Node Attibutes. This is mostly test work so
I am pulling in work so others are not blocked by the change.

Most notably: we changed from "Attribute" to "Attrib" to avoid naming collisions.

That change along caused MAJOR code changes, but relatively little changed functionality.

I refactored BDD in several ways
1) all test notifications go through the logger (which is much cleaner)
2) created infrastructure for the "unless" step type (but this is not completely working yet)

Note: I am starting to stage work to move the docs as described on the list. This is only
at the very early stages but there are some relato ensure that it functioned correctly.

crowbar_framework/BDD/attrib.erl | 90 +++++++
crowbar_framework/BDD/attribute.erl | 88 -------
crowbar_framework/BDD/bdd.erl | 169 +++++++------
crowbar_framework/BDD/bdd_catchall.erl | 21 +-
crowbar_framework/BDD/bdd_restrat.erl | 16 +-
crowbar_framework/BDD/bdd_utils.erl | 115 ++++++---
crowbar_framework/BDD/crowbar.config | 3 +-
crowbar_framework/BDD/crowbar_rest.erl | 6 +-
crowbar_framework/BDD/default.config | 3 +-
crowbar_framework/BDD/dev.config | 18 +-
crowbar_framework/BDD/dev.erl | 29 ++-
crowbar_framework/BDD/features/attrib.feature | 27 +++
crowbar_framework/BDD/features/attribute.feature | 27 ---
.../BDD/features/authenticate.feature | 3 +-
crowbar_framework/BDD/features/node.feature | 43 ++--
crowbar_framework/BDD/features/scaffolds.feature | 2 +-
crowbar_framework/BDD/features/users.feature | 4 +-
crowbar_framework/BDD/node.erl | 68 +++---
crowbar_framework/BDD/simple_auth.erl | 2 +-
.../app/controllers/crowbar_controller.rb | 54 +++--
.../app/controllers/nodes_controller.rb | 6 +-
.../controllers/scaffolds/attribs_controller.rb | 19 ++
.../controllers/scaffolds/attributes_controller.rb | 19 --
.../scaffolds/cmdb_attributes_controller.rb | 19 --
crowbar_framework/app/models/attrib.rb | 27 +++
crowbar_framework/app/models/attribute.rb | 26 --
crowbar_framework/app/models/cmdb.rb | 8 +-
crowbar_framework/app/models/cmdb_attribute.rb | 24 --
crowbar_framework/app/models/cmdb_chef.rb | 9 +-
crowbar_framework/app/models/cmdb_event.rb | 2 +-
crowbar_framework/app/models/cmdb_test.rb | 10 +
crowbar_framework/app/models/node.rb | 95 ++++----
crowbar_framework/app/models/node_attrib.rb | 138 +++++++++++
crowbar_framework/app/models/node_attribute.rb | 26 --
crowbar_framework/app/views/nodes/_show.html.haml | 24 +-
crowbar_framework/config/locales/crowbar/en.yml | 20 +-
crowbar_framework/config/routes.rb | 3 +-
.../db/migrate/20120730227000_create_attribs.rb | 29 +++
.../db/migrate/20120730227000_create_attributes.rb | 29 ---
.../migrate/20120731225600_create_node_attribs.rb | 35 +++
.../20120731225600_create_node_attributes.rb | 23 --
.../20120801172648_create_cmdb_attributes.rb | 31 ---
.../db/migrate/20120801190200_scaffold_nav.rb | 5 +-
.../doc/default/crowbar/devguide/api/attrib.md | 124 ++++++++++
.../doc/default/crowbar/devguide/api/attribute.md | 122 ----------
.../default/crowbar/devguide/testing/bdd/dsl.md | 12 +-
.../crowbar/devguide/testing/bdd/internals.md | 20 +-
.../devguide/testing/bdd/internals/config.md | 14 +-
.../default/crowbar/devguide/testing/bdd/steps.md | 32 ++-
crowbar_framework/test/unit/attrib_model_test.rb | 60 +++++
.../test/unit/attribute_model_test.rb | 60 -----
.../test/unit/node_attrib_model_test.rb | 252 ++++++++++++++++++++
.../test/unit/node_attribute_model_test.rb | 92 -------
crowbar_framework/test/unit/node_model_test.rb | 40 +++-
54 files changed, 1347 insertions(+), 896 deletions(-)

Crowbar-Pull-ID: 6c3d3063d5ac0812d3a348b9418813c6d31acb76

Crowbar-Release: development