gooddata 0.6.49 → 0.6.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -4
- data/CLI.md +0 -4
- data/DEPENDENCIES.md +0 -8
- data/Dockerfile.jruby +19 -0
- data/Dockerfile.ruby +19 -0
- data/LICENSE +2 -2
- data/LICENSE.rb +1 -1
- data/Rakefile +1 -1
- data/gooddata.gemspec +29 -28
- data/lib/gooddata.rb +2 -1
- data/lib/gooddata/app/app.rb +1 -1
- data/lib/gooddata/bricks/base_downloader.rb +1 -1
- data/lib/gooddata/bricks/brick.rb +3 -4
- data/lib/gooddata/bricks/bricks.rb +3 -1
- data/lib/gooddata/bricks/middleware/aws_middleware.rb +6 -8
- data/lib/gooddata/bricks/middleware/base_middleware.rb +2 -1
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +2 -1
- data/lib/gooddata/bricks/middleware/bulk_salesforce_middleware.rb +3 -3
- data/lib/gooddata/bricks/middleware/decode_params_middleware.rb +3 -2
- data/lib/gooddata/bricks/middleware/dwh_middleware.rb +28 -0
- data/lib/gooddata/bricks/middleware/fs_download_middleware.rb +2 -2
- data/lib/gooddata/bricks/middleware/fs_upload_middleware.rb +2 -2
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +84 -21
- data/lib/gooddata/bricks/middleware/logger_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/params_inspect_middleware.rb +21 -0
- data/lib/gooddata/bricks/middleware/restforce_middleware.rb +26 -26
- data/lib/gooddata/bricks/middleware/stdout_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/twitter_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/undot_params_middleware.rb +1 -1
- data/lib/gooddata/bricks/pipeline.rb +6 -13
- data/lib/gooddata/bricks/utils.rb +3 -3
- data/lib/gooddata/cli/cli.rb +1 -1
- data/lib/gooddata/cli/commands/auth_cmd.rb +1 -1
- data/lib/gooddata/cli/commands/domain_cmd.rb +1 -1
- data/lib/gooddata/cli/commands/project_cmd.rb +1 -18
- data/lib/gooddata/cli/hooks.rb +1 -2
- data/lib/gooddata/cli/shared.rb +1 -1
- data/lib/gooddata/cli/terminal.rb +1 -1
- data/lib/gooddata/client.rb +1 -1
- data/lib/gooddata/commands/api.rb +1 -1
- data/lib/gooddata/commands/auth.rb +1 -1
- data/lib/gooddata/commands/base.rb +1 -1
- data/lib/gooddata/commands/commands.rb +1 -1
- data/lib/gooddata/commands/datasets.rb +1 -1
- data/lib/gooddata/commands/datawarehouse.rb +1 -1
- data/lib/gooddata/commands/domain.rb +1 -1
- data/lib/gooddata/commands/process.rb +1 -1
- data/lib/gooddata/commands/project.rb +2 -31
- data/lib/gooddata/commands/projects.rb +1 -1
- data/lib/gooddata/commands/role.rb +1 -1
- data/lib/gooddata/commands/runners.rb +1 -1
- data/lib/gooddata/commands/scaffold.rb +1 -1
- data/lib/gooddata/commands/user.rb +1 -1
- data/lib/gooddata/connection.rb +1 -1
- data/lib/gooddata/core/core.rb +1 -1
- data/lib/gooddata/core/logging.rb +1 -1
- data/lib/gooddata/core/nil_logger.rb +1 -1
- data/lib/gooddata/core/project.rb +1 -1
- data/lib/gooddata/core/rest.rb +1 -1
- data/lib/gooddata/core/user.rb +1 -1
- data/lib/gooddata/data/data.rb +1 -1
- data/lib/gooddata/data/guesser.rb +1 -1
- data/lib/gooddata/exceptions/attr_element_not_found.rb +1 -1
- data/lib/gooddata/exceptions/command_failed.rb +1 -1
- data/lib/gooddata/exceptions/exceptions.rb +1 -1
- data/lib/gooddata/exceptions/execution_limit_exceeded.rb +1 -1
- data/lib/gooddata/exceptions/export_clone.rb +4 -0
- data/lib/gooddata/exceptions/filter_maqlization.rb +1 -1
- data/lib/gooddata/exceptions/import_clone.rb +4 -0
- data/lib/gooddata/exceptions/malformed_user.rb +1 -1
- data/lib/gooddata/exceptions/maql_execution.rb +1 -1
- data/lib/gooddata/exceptions/no_project_error.rb +1 -1
- data/lib/gooddata/exceptions/object_migration.rb +1 -1
- data/lib/gooddata/exceptions/project_not_found.rb +1 -1
- data/lib/gooddata/exceptions/segment_not_empty.rb +1 -1
- data/lib/gooddata/exceptions/uncomputable_report.rb +1 -1
- data/lib/gooddata/exceptions/user_in_different_domain.rb +1 -1
- data/lib/gooddata/exceptions/validation_error.rb +1 -1
- data/lib/gooddata/extensions/big_decimal.rb +1 -1
- data/lib/gooddata/extensions/class.rb +11 -0
- data/lib/gooddata/extensions/enumerable.rb +1 -1
- data/lib/gooddata/extensions/extensions.rb +1 -1
- data/lib/gooddata/extensions/false.rb +9 -1
- data/lib/gooddata/extensions/hash.rb +12 -1
- data/lib/gooddata/extensions/integer.rb +5 -0
- data/lib/gooddata/extensions/nil.rb +5 -1
- data/lib/gooddata/extensions/numeric.rb +1 -1
- data/lib/gooddata/extensions/object.rb +5 -1
- data/lib/gooddata/extensions/symbol.rb +1 -1
- data/lib/gooddata/extensions/true.rb +9 -1
- data/lib/gooddata/extract.rb +1 -1
- data/lib/gooddata/goodzilla/goodzilla.rb +1 -1
- data/lib/gooddata/helpers/auth_helpers.rb +1 -1
- data/lib/gooddata/helpers/csv_helper.rb +1 -1
- data/lib/gooddata/helpers/data_helper.rb +19 -10
- data/lib/gooddata/helpers/erb_helper.rb +23 -0
- data/lib/gooddata/helpers/global_helpers.rb +5 -73
- data/lib/gooddata/helpers/global_helpers_params.rb +73 -7
- data/lib/gooddata/helpers/helpers.rb +1 -1
- data/lib/gooddata/lcm/actions/actions.rb +12 -0
- data/lib/gooddata/lcm/actions/associate_clients.rb +46 -0
- data/lib/gooddata/lcm/actions/base_action.rb +23 -0
- data/lib/gooddata/lcm/actions/collect_clients.rb +89 -0
- data/lib/gooddata/lcm/actions/collect_segment_clients.rb +103 -0
- data/lib/gooddata/lcm/actions/collect_segments.rb +59 -0
- data/lib/gooddata/lcm/actions/create_segment_masters.rb +167 -0
- data/lib/gooddata/lcm/actions/ensure_release_table.rb +56 -0
- data/lib/gooddata/lcm/actions/ensure_segments.rb +35 -0
- data/lib/gooddata/lcm/actions/ensure_technical_users_domain.rb +66 -0
- data/lib/gooddata/lcm/actions/ensure_technical_users_project.rb +68 -0
- data/lib/gooddata/lcm/actions/ensure_titles.rb +54 -0
- data/lib/gooddata/lcm/actions/hello_world.rb +44 -0
- data/lib/gooddata/lcm/actions/print_actions.rb +61 -0
- data/lib/gooddata/lcm/actions/print_modes.rb +72 -0
- data/lib/gooddata/lcm/actions/print_types.rb +55 -0
- data/lib/gooddata/lcm/actions/provision_clients.rb +80 -0
- data/lib/gooddata/lcm/actions/purge_clients.rb +78 -0
- data/lib/gooddata/lcm/actions/segments_filter.rb +50 -0
- data/lib/gooddata/lcm/actions/synchronize_attribute_drillpaths.rb +60 -0
- data/lib/gooddata/lcm/actions/synchronize_clients.rb +87 -0
- data/lib/gooddata/lcm/actions/synchronize_color_palette.rb +59 -0
- data/lib/gooddata/lcm/actions/synchronize_label_types.rb +61 -0
- data/lib/gooddata/lcm/actions/synchronize_ldm.rb +64 -0
- data/lib/gooddata/lcm/actions/synchronize_meta.rb +55 -0
- data/lib/gooddata/lcm/actions/synchronize_new_segments.rb +55 -0
- data/lib/gooddata/lcm/actions/synchronize_processes.rb +66 -0
- data/lib/gooddata/lcm/actions/synchronize_schedules.rb +81 -0
- data/lib/gooddata/lcm/actions/update_release_table.rb +80 -0
- data/lib/gooddata/lcm/data/create_lcm_release.sql.erb +5 -0
- data/lib/gooddata/lcm/data/insert_into_lcm_release.sql.erb +11 -0
- data/lib/gooddata/lcm/data/select_from_lcm_release.sql.erb +8 -0
- data/lib/gooddata/lcm/data/update_lcm_release.sql.erb +7 -0
- data/lib/gooddata/lcm/dsl/dsl.rb +50 -0
- data/lib/gooddata/lcm/dsl/params_dsl.rb +61 -0
- data/lib/gooddata/lcm/dsl/type_dsl.rb +61 -0
- data/lib/gooddata/lcm/helpers/check_helper.rb +37 -0
- data/lib/gooddata/lcm/helpers/helpers.rb +12 -0
- data/lib/gooddata/lcm/lcm.rb +161 -20
- data/lib/gooddata/lcm/lcm2.rb +260 -0
- data/lib/gooddata/lcm/types/base_type.rb +29 -0
- data/lib/gooddata/lcm/types/class/ads_client.rb +35 -0
- data/lib/gooddata/lcm/types/class/class.rb +21 -0
- data/lib/gooddata/lcm/types/class/gd_client.rb +35 -0
- data/lib/gooddata/lcm/types/class/types.rb +12 -0
- data/lib/gooddata/lcm/types/complex/complex.rb +33 -0
- data/lib/gooddata/lcm/types/complex/release_query.rb +35 -0
- data/lib/gooddata/lcm/types/complex/segment.rb +37 -0
- data/lib/gooddata/lcm/types/complex/synchronization_info.rb +32 -0
- data/lib/gooddata/lcm/types/complex/tokens.rb +31 -0
- data/lib/gooddata/lcm/types/complex/types.rb +12 -0
- data/lib/gooddata/lcm/types/complex/update_preference.rb +32 -0
- data/lib/gooddata/lcm/types/param.rb +16 -0
- data/lib/gooddata/lcm/types/scalar/bool.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/hash.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/integer.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/object.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/string.rb +22 -0
- data/lib/gooddata/lcm/types/scalar/types.rb +12 -0
- data/lib/gooddata/lcm/types/special/array.rb +35 -0
- data/lib/gooddata/lcm/types/special/enum.rb +17 -0
- data/lib/gooddata/lcm/types/special/types.rb +12 -0
- data/lib/gooddata/lcm/types/types.rb +12 -0
- data/lib/gooddata/mixins/author.rb +1 -1
- data/lib/gooddata/mixins/content_getter.rb +1 -1
- data/lib/gooddata/mixins/content_property_reader.rb +1 -1
- data/lib/gooddata/mixins/content_property_writer.rb +1 -1
- data/lib/gooddata/mixins/contributor.rb +1 -1
- data/lib/gooddata/mixins/data_getter.rb +1 -1
- data/lib/gooddata/mixins/data_property_reader.rb +1 -1
- data/lib/gooddata/mixins/data_property_writer.rb +1 -1
- data/lib/gooddata/mixins/inspector.rb +1 -1
- data/lib/gooddata/mixins/is_attribute.rb +1 -1
- data/lib/gooddata/mixins/is_dimension.rb +1 -1
- data/lib/gooddata/mixins/is_fact.rb +1 -1
- data/lib/gooddata/mixins/is_label.rb +1 -1
- data/lib/gooddata/mixins/links.rb +1 -1
- data/lib/gooddata/mixins/md_finders.rb +1 -1
- data/lib/gooddata/mixins/md_grantees.rb +1 -1
- data/lib/gooddata/mixins/md_id_to_uri.rb +9 -3
- data/lib/gooddata/mixins/md_json.rb +1 -1
- data/lib/gooddata/mixins/md_lock.rb +1 -1
- data/lib/gooddata/mixins/md_object_id.rb +1 -1
- data/lib/gooddata/mixins/md_object_indexer.rb +1 -1
- data/lib/gooddata/mixins/md_object_query.rb +1 -1
- data/lib/gooddata/mixins/md_relations.rb +1 -1
- data/lib/gooddata/mixins/meta_getter.rb +1 -1
- data/lib/gooddata/mixins/meta_property_reader.rb +1 -1
- data/lib/gooddata/mixins/meta_property_writer.rb +1 -1
- data/lib/gooddata/mixins/mixins.rb +1 -1
- data/lib/gooddata/mixins/not_attribute.rb +1 -1
- data/lib/gooddata/mixins/not_exportable.rb +1 -1
- data/lib/gooddata/mixins/not_fact.rb +1 -1
- data/lib/gooddata/mixins/not_group.rb +1 -1
- data/lib/gooddata/mixins/not_label.rb +1 -1
- data/lib/gooddata/mixins/not_metric.rb +1 -1
- data/lib/gooddata/mixins/obj_id.rb +1 -1
- data/lib/gooddata/mixins/rest_getters.rb +1 -1
- data/lib/gooddata/mixins/rest_resource.rb +1 -1
- data/lib/gooddata/mixins/root_key_getter.rb +1 -1
- data/lib/gooddata/mixins/root_key_setter.rb +1 -1
- data/lib/gooddata/mixins/timestamps.rb +1 -1
- data/lib/gooddata/models/ads_output_stage.rb +85 -0
- data/lib/gooddata/models/automated_data_distribution.rb +36 -0
- data/lib/gooddata/models/blueprint/anchor_field.rb +4 -3
- data/lib/gooddata/models/blueprint/attribute_field.rb +18 -2
- data/lib/gooddata/models/blueprint/blueprint.rb +1 -1
- data/lib/gooddata/models/blueprint/blueprint_field.rb +1 -1
- data/lib/gooddata/models/blueprint/dashboard_builder.rb +1 -1
- data/lib/gooddata/models/blueprint/dataset_blueprint.rb +6 -1
- data/lib/gooddata/models/blueprint/date_dimension.rb +1 -1
- data/lib/gooddata/models/blueprint/fact_field.rb +1 -1
- data/lib/gooddata/models/blueprint/label_field.rb +5 -1
- data/lib/gooddata/models/blueprint/project_blueprint.rb +1 -1
- data/lib/gooddata/models/blueprint/project_builder.rb +1 -1
- data/lib/gooddata/models/blueprint/reference_field.rb +1 -1
- data/lib/gooddata/models/blueprint/schema_blueprint.rb +1 -1
- data/lib/gooddata/models/blueprint/schema_builder.rb +1 -1
- data/lib/gooddata/models/blueprint/to_manifest.rb +7 -3
- data/lib/gooddata/models/blueprint/to_wire.rb +12 -1
- data/lib/gooddata/models/channel_configuration.rb +112 -0
- data/lib/gooddata/models/client.rb +42 -6
- data/lib/gooddata/models/client_synchronization_result.rb +1 -1
- data/lib/gooddata/models/client_synchronization_result_details.rb +1 -1
- data/lib/gooddata/models/datawarehouse.rb +25 -3
- data/lib/gooddata/models/domain.rb +29 -4
- data/lib/gooddata/models/execution.rb +1 -1
- data/lib/gooddata/models/execution_detail.rb +1 -1
- data/lib/gooddata/models/from_wire.rb +8 -1
- data/lib/gooddata/models/invitation.rb +1 -1
- data/lib/gooddata/models/links.rb +1 -1
- data/lib/gooddata/models/membership.rb +1 -1
- data/lib/gooddata/models/metadata.rb +3 -2
- data/lib/gooddata/models/metadata/attribute.rb +7 -1
- data/lib/gooddata/models/metadata/dashboard.rb +3 -3
- data/lib/gooddata/models/metadata/dashboard/dashboard_item.rb +1 -1
- data/lib/gooddata/models/metadata/dashboard/filter_apply_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/filter_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/geo_chart_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/headline_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/iframe_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/report_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard/text_item.rb +2 -2
- data/lib/gooddata/models/metadata/dashboard_tab.rb +2 -2
- data/lib/gooddata/models/metadata/dataset.rb +1 -1
- data/lib/gooddata/models/metadata/dimension.rb +1 -1
- data/lib/gooddata/models/metadata/fact.rb +1 -1
- data/lib/gooddata/models/metadata/folder.rb +1 -1
- data/lib/gooddata/models/metadata/label.rb +1 -1
- data/lib/gooddata/models/metadata/metadata.rb +1 -1
- data/lib/gooddata/models/metadata/metric.rb +1 -1
- data/lib/gooddata/models/metadata/report.rb +1 -1
- data/lib/gooddata/models/metadata/report_definition.rb +1 -1
- data/lib/gooddata/models/metadata/scheduled_mail.rb +2 -2
- data/lib/gooddata/models/metadata/scheduled_mail/dashboard_attachment.rb +1 -1
- data/lib/gooddata/models/metadata/scheduled_mail/report_attachment.rb +1 -1
- data/lib/gooddata/models/metadata/variable.rb +1 -1
- data/lib/gooddata/models/model.rb +1 -1
- data/lib/gooddata/models/models.rb +1 -1
- data/lib/gooddata/models/module_constants.rb +1 -1
- data/lib/gooddata/models/notification_rule.rb +113 -0
- data/lib/gooddata/models/process.rb +10 -3
- data/lib/gooddata/models/profile.rb +9 -1
- data/lib/gooddata/models/project.rb +248 -50
- data/lib/gooddata/models/project_creator.rb +2 -2
- data/lib/gooddata/models/project_metadata.rb +1 -1
- data/lib/gooddata/models/project_role.rb +1 -1
- data/lib/gooddata/models/report_data_result.rb +1 -1
- data/lib/gooddata/models/schedule.rb +49 -13
- data/lib/gooddata/models/segment.rb +3 -3
- data/lib/gooddata/models/style_setting.rb +71 -0
- data/lib/gooddata/models/subscription.rb +181 -0
- data/lib/gooddata/models/tab_builder.rb +1 -1
- data/lib/gooddata/models/user_filters/mandatory_user_filter.rb +1 -1
- data/lib/gooddata/models/user_filters/user_filter.rb +1 -1
- data/lib/gooddata/models/user_filters/user_filter_builder.rb +11 -5
- data/lib/gooddata/models/user_filters/user_filters.rb +1 -1
- data/lib/gooddata/models/user_filters/variable_user_filter.rb +1 -1
- data/lib/gooddata/models/user_group.rb +19 -12
- data/lib/gooddata/rest/client.rb +9 -1
- data/lib/gooddata/rest/connection.rb +18 -9
- data/lib/gooddata/rest/object.rb +1 -1
- data/lib/gooddata/rest/object_factory.rb +1 -1
- data/lib/gooddata/rest/resource.rb +1 -1
- data/lib/gooddata/rest/rest.rb +1 -1
- data/lib/gooddata/version.rb +2 -2
- data/spec/.rubocop.yml +16 -0
- data/spec/bricks/bricks_spec.rb +13 -15
- data/spec/data/blueprints/attribute_sort_order_blueprint.json +72 -0
- data/spec/data/gooddata_version_process/gooddata_version.rb +1 -1
- data/spec/data/hello_world_process/hello_world.rb +2 -2
- data/spec/data/ruby_params_process/ruby_params.rb +1 -1
- data/spec/data/ruby_process/process.rb +2 -2
- data/spec/data/wire_models/attribute_sort_by_model.json +73 -0
- data/spec/environment/default.rb +14 -13
- data/spec/environment/develop.rb +26 -11
- data/spec/environment/environment.rb +2 -1
- data/spec/environment/hotfix.rb +15 -7
- data/spec/environment/production.rb +6 -14
- data/spec/environment/staging.rb +9 -10
- data/spec/helpers/blueprint_helper.rb +11 -10
- data/spec/helpers/cli_helper.rb +26 -24
- data/spec/helpers/connection_helper.rb +28 -26
- data/spec/helpers/crypto_helper.rb +8 -6
- data/spec/helpers/csv_helper.rb +7 -5
- data/spec/helpers/process_helper.rb +13 -11
- data/spec/helpers/project_helper.rb +36 -34
- data/spec/helpers/schedule_helper.rb +13 -11
- data/spec/helpers/spec_helper.rb +8 -6
- data/spec/integration/ads_output_stage_spec.rb +55 -0
- data/spec/integration/blueprint_updates_spec.rb +22 -16
- data/spec/integration/blueprint_with_grain_spec.rb +5 -3
- data/spec/integration/channel_configuration_spec.rb +67 -0
- data/spec/integration/clients_spec.rb +31 -22
- data/spec/integration/command_datawarehouse_spec.rb +4 -4
- data/spec/integration/command_projects_spec.rb +6 -6
- data/spec/integration/create_from_template_spec.rb +4 -3
- data/spec/integration/create_project_spec.rb +7 -4
- data/spec/integration/date_dim_switch_spec.rb +25 -28
- data/spec/integration/deprecated_load_spec.rb +11 -9
- data/spec/integration/full_process_schedule_spec.rb +82 -13
- data/spec/integration/full_project_spec.rb +67 -45
- data/spec/integration/lcm_spec.rb +41 -0
- data/spec/integration/over_to_user_filters_spec.rb +14 -10
- data/spec/integration/partial_md_export_import_spec.rb +3 -4
- data/spec/integration/project_spec.rb +101 -42
- data/spec/integration/rest_spec.rb +5 -4
- data/spec/integration/schedule_spec.rb +28 -39
- data/spec/integration/segments_spec.rb +42 -31
- data/spec/integration/subscription_spec.rb +63 -0
- data/spec/integration/user_filters_spec.rb +49 -39
- data/spec/integration/user_group_spec.rb +25 -5
- data/spec/integration/variables_spec.rb +34 -32
- data/spec/logging_in_logging_out_spec.rb +6 -8
- data/spec/spec_helper.rb +3 -3
- data/spec/unit/bricks/bricks_spec.rb +3 -4
- data/spec/unit/bricks/middleware/aws_middelware_spec.rb +8 -15
- data/spec/unit/bricks/middleware/bench_middleware_spec.rb +2 -2
- data/spec/unit/bricks/middleware/bulk_salesforce_middleware_spec.rb +2 -2
- data/spec/unit/bricks/middleware/gooddata_middleware_spec.rb +2 -2
- data/spec/unit/bricks/middleware/logger_middleware_spec.rb +2 -2
- data/spec/unit/bricks/middleware/restforce_middleware_spec.rb +3 -3
- data/spec/unit/bricks/middleware/stdout_middleware_spec.rb +3 -3
- data/spec/unit/bricks/middleware/twitter_middleware_spec.rb +3 -3
- data/spec/unit/cli/cli_spec.rb +3 -3
- data/spec/unit/cli/commands/cmd_auth_spec.rb +2 -2
- data/spec/unit/commands/command_projects_spec.rb +3 -3
- data/spec/unit/core/connection_spec.rb +3 -4
- data/spec/unit/core/logging_spec.rb +2 -5
- data/spec/unit/core/nil_logger_spec.rb +2 -2
- data/spec/unit/core/project_spec.rb +4 -4
- data/spec/unit/extensions/hash_spec.rb +3 -4
- data/spec/unit/godzilla/goodzilla_spec.rb +22 -26
- data/spec/unit/helpers/csv_helper_spec.rb +3 -3
- data/spec/unit/helpers/data_helper_spec.rb +6 -18
- data/spec/unit/helpers/global_helpers_spec.rb +112 -28
- data/spec/unit/helpers_spec.rb +139 -2
- data/spec/unit/models/blueprint/attribute_sort_by_spec.rb +20 -0
- data/spec/unit/models/blueprint/attributes_spec.rb +1 -2
- data/spec/unit/models/blueprint/dataset_spec.rb +2 -3
- data/spec/unit/models/blueprint/labels_spec.rb +1 -2
- data/spec/unit/models/blueprint/project_blueprint_spec.rb +34 -35
- data/spec/unit/models/blueprint/reference_spec.rb +1 -2
- data/spec/unit/models/blueprint/schema_builder_spec.rb +5 -7
- data/spec/unit/models/blueprint/to_wire_spec.rb +76 -55
- data/spec/unit/models/domain_spec.rb +4 -5
- data/spec/unit/models/execution_spec.rb +16 -15
- data/spec/unit/models/from_wire_spec.rb +24 -19
- data/spec/unit/models/invitation_spec.rb +1 -1
- data/spec/unit/models/membership_spec.rb +36 -41
- data/spec/unit/models/metadata_spec.rb +20 -18
- data/spec/unit/models/metric_spec.rb +67 -55
- data/spec/unit/models/model_spec.rb +32 -37
- data/spec/unit/models/params_spec.rb +1 -1
- data/spec/unit/models/profile_spec.rb +40 -45
- data/spec/unit/models/project_creator_spec.rb +27 -29
- data/spec/unit/models/project_role_spec.rb +1 -1
- data/spec/unit/models/project_spec.rb +65 -2
- data/spec/unit/models/report_result_data_spec.rb +7 -12
- data/spec/unit/models/schedule_spec.rb +71 -35
- data/spec/unit/models/to_manifest_spec.rb +69 -4
- data/spec/unit/models/unit_project_spec.rb +12 -12
- data/spec/unit/models/user_filters_spec.rb +40 -40
- data/spec/unit/models/variable_spec.rb +108 -93
- data/spec/unit/rest/polling_spec.rb +7 -7
- data/spec/unit/rest/resource_spec.rb +2 -2
- metadata +145 -228
- data/spec/environment/release.rb +0 -21
- data/spec/environment/staging_3.rb +0 -36
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -11,11 +11,11 @@ describe GoodData::UserGroup do
|
|
|
11
11
|
@user_group_name = 'My Test Group'
|
|
12
12
|
@user_group_description = 'My Test Description'
|
|
13
13
|
|
|
14
|
-
@client = ConnectionHelper
|
|
14
|
+
@client = ConnectionHelper.create_default_connection
|
|
15
15
|
@project = @client.create_project(title: 'UserGroup Testing Project', token: ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
|
|
16
16
|
@domain = @client.domain(ConnectionHelper::DEFAULT_DOMAIN)
|
|
17
17
|
|
|
18
|
-
users = (1..5).to_a.map do
|
|
18
|
+
users = (1..5).to_a.map do
|
|
19
19
|
{
|
|
20
20
|
user: ProjectHelper.create_random_user(@client),
|
|
21
21
|
role: 'Admin'
|
|
@@ -29,7 +29,7 @@ describe GoodData::UserGroup do
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
after(:all) do
|
|
32
|
-
@group && @group.delete
|
|
32
|
+
# @group && @group.delete
|
|
33
33
|
@project && @project.delete
|
|
34
34
|
@client.disconnect
|
|
35
35
|
end
|
|
@@ -49,7 +49,7 @@ describe GoodData::UserGroup do
|
|
|
49
49
|
@group.add_member(users)
|
|
50
50
|
|
|
51
51
|
new_count = @group.members.to_a.length
|
|
52
|
-
expect(new_count).to eq
|
|
52
|
+
expect(new_count).to eq(old_count + 1)
|
|
53
53
|
|
|
54
54
|
group_members = @group.members.to_a
|
|
55
55
|
|
|
@@ -124,4 +124,24 @@ describe GoodData::UserGroup do
|
|
|
124
124
|
expect(@group.description).to eq new_description
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
|
+
|
|
128
|
+
describe '#save' do
|
|
129
|
+
it 'updates existing group' do
|
|
130
|
+
new_description = 'This is new description'
|
|
131
|
+
@group.description = new_description
|
|
132
|
+
@group.save
|
|
133
|
+
@group = @project.user_groups(@group.obj_id)
|
|
134
|
+
expect(@group.description).to eq new_description
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
describe '.create' do
|
|
139
|
+
it 'sets client attribute' do
|
|
140
|
+
expect(@group.client).not_to be_nil
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
it 'sets project attribute' do
|
|
144
|
+
expect(@group.project).not_to be_nil
|
|
145
|
+
end
|
|
146
|
+
end
|
|
127
147
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ require 'gooddata'
|
|
|
9
9
|
describe "Variables implementation", :constraint => 'slow' do
|
|
10
10
|
before(:all) do
|
|
11
11
|
@spec = JSON.parse(File.read("./spec/data/blueprints/test_project_model_spec.json"), :symbolize_names => true)
|
|
12
|
-
@client = ConnectionHelper
|
|
12
|
+
@client = ConnectionHelper.create_default_connection
|
|
13
13
|
blueprint = GoodData::Model::ProjectBlueprint.new(@spec)
|
|
14
14
|
@project = @client.create_project_from_blueprint(blueprint, :token => ConnectionHelper::GD_PROJECT_TOKEN, environment: ProjectHelper::ENVIRONMENT)
|
|
15
15
|
@domain = @client.domain(ConnectionHelper::DEFAULT_DOMAIN)
|
|
@@ -17,21 +17,22 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
17
17
|
@label = GoodData::Attribute.find_first_by_title('Dev', client: @client, project: @project).label_by_name('email')
|
|
18
18
|
|
|
19
19
|
commits_data = [
|
|
20
|
-
|
|
21
|
-
[1,"01/01/2014",1,1],
|
|
22
|
-
[3,"01/02/2014",2,2],
|
|
23
|
-
[5,"05/02/2014",3,1]
|
|
20
|
+
%w(lines_changed committed_on dev_id repo_id),
|
|
21
|
+
[1, "01/01/2014", 1, 1],
|
|
22
|
+
[3, "01/02/2014", 2, 2],
|
|
23
|
+
[5, "05/02/2014", 3, 1]
|
|
24
|
+
]
|
|
24
25
|
@project.upload(commits_data, blueprint, 'dataset.commits')
|
|
25
|
-
|
|
26
|
+
|
|
26
27
|
devs_data = [
|
|
27
|
-
|
|
28
|
+
%w(dev_id email),
|
|
28
29
|
[1, "tomas@gooddata.com"],
|
|
29
30
|
[2, "petr@gooddata.com"],
|
|
30
|
-
[3, "jirka@gooddata.com"]
|
|
31
|
+
[3, "jirka@gooddata.com"]
|
|
32
|
+
]
|
|
31
33
|
@project.upload(devs_data, blueprint, 'dataset.devs')
|
|
32
|
-
|
|
33
|
-
@variable = @project.create_variable(title: 'uaaa', attribute: @label.attribute).save
|
|
34
34
|
|
|
35
|
+
@variable = @project.create_variable(title: 'uaaa', attribute: @label.attribute).save
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
after(:all) do
|
|
@@ -39,7 +40,7 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
39
40
|
end
|
|
40
41
|
|
|
41
42
|
after(:each) do
|
|
42
|
-
@variable.user_values.select {|x| x.level == :user}.pmap
|
|
43
|
+
@variable.user_values.select { |x| x.level == :user }.pmap(&:delete)
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
it "should create a variable filter" do
|
|
@@ -51,14 +52,14 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
51
52
|
# [5.0 | 3.0 | 1.0 ]
|
|
52
53
|
@project.add_variable_permissions(filters, @variable)
|
|
53
54
|
r = @project.compute_report(left: [metric], top: [@label.attribute], filters: [@variable])
|
|
54
|
-
r.include_column?(['tomas@gooddata.com', 1]).
|
|
55
|
-
r.include_column?(['jirka@gooddata.com', 5]).
|
|
56
|
-
r.include_column?(['petr@gooddata.com', 3]).
|
|
55
|
+
expect(r.include_column?(['tomas@gooddata.com', 1])).to be_truthy
|
|
56
|
+
expect(r.include_column?(['jirka@gooddata.com', 5])).to be_truthy
|
|
57
|
+
expect(r.include_column?(['petr@gooddata.com', 3])).to be_falsy
|
|
57
58
|
|
|
58
59
|
r = @project.compute_report(left: [metric], top: [@label.attribute])
|
|
59
|
-
r.include_column?(['tomas@gooddata.com', 1]).
|
|
60
|
-
r.include_column?(['jirka@gooddata.com', 5]).
|
|
61
|
-
r.include_column?(['petr@gooddata.com', 3]).
|
|
60
|
+
expect(r.include_column?(['tomas@gooddata.com', 1])).to be_truthy
|
|
61
|
+
expect(r.include_column?(['jirka@gooddata.com', 5])).to be_truthy
|
|
62
|
+
expect(r.include_column?(['petr@gooddata.com', 3])).to be_truthy
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
it "should fail when asked to set a user not in project. No filters should be set up." do
|
|
@@ -79,7 +80,7 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
79
80
|
@project.add_variable_permissions(filters, @variable)
|
|
80
81
|
expect(@variable.user_values.count).to eq 1
|
|
81
82
|
end
|
|
82
|
-
|
|
83
|
+
|
|
83
84
|
it "should pass and set only users that are in the projects if asked" do
|
|
84
85
|
filters = [
|
|
85
86
|
['nonexistent_user@gooddata.com', @label.uri, 'tomas@gooddata.com'],
|
|
@@ -88,22 +89,23 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
88
89
|
@project.add_variable_permissions(filters, @variable, users_must_exist: false)
|
|
89
90
|
expect(@variable.user_values.count).to eq 1
|
|
90
91
|
end
|
|
91
|
-
|
|
92
|
+
|
|
92
93
|
it "should fail when asked to set a value not in the proejct" do
|
|
93
94
|
filters = [
|
|
94
95
|
[ConnectionHelper::DEFAULT_USERNAME, @label.uri, '%^&*( nonexistent value', 'tomas@gooddata.com'],
|
|
95
|
-
[ConnectionHelper::DEFAULT_USERNAME, @label.uri, 'tomas@gooddata.com']
|
|
96
|
+
[ConnectionHelper::DEFAULT_USERNAME, @label.uri, 'tomas@gooddata.com']
|
|
97
|
+
]
|
|
96
98
|
expect do
|
|
97
99
|
@project.add_variable_permissions(filters, @variable)
|
|
98
100
|
end.to raise_error
|
|
99
101
|
expect(@variable.user_values.count).to eq 0
|
|
100
102
|
end
|
|
101
|
-
|
|
103
|
+
|
|
102
104
|
it "should add a filter with nonexistent values when asked" do
|
|
103
105
|
filters = [[ConnectionHelper::DEFAULT_USERNAME, @label.uri, '%^&*( nonexistent value', 'jirka@gooddata.com']]
|
|
104
106
|
@project.add_variable_permissions(filters, @variable, ignore_missing_values: true)
|
|
105
|
-
|
|
106
|
-
expect(@variable.user_values.pmap
|
|
107
|
+
|
|
108
|
+
expect(@variable.user_values.pmap(&:pretty_expression)).to eq ["[Dev] IN ([jirka@gooddata.com])"]
|
|
107
109
|
expect(@variable.user_values.count).to eq 1
|
|
108
110
|
end
|
|
109
111
|
|
|
@@ -111,7 +113,7 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
111
113
|
filters = [[ConnectionHelper::DEFAULT_USERNAME, @label.uri, "tomas@gooddata.com"]]
|
|
112
114
|
@project.add_variable_permissions(filters, @variable)
|
|
113
115
|
perms = @variable.user_values
|
|
114
|
-
pretty = perms.pmap {|f| [f.related.login, f.pretty_expression]}
|
|
116
|
+
pretty = perms.pmap { |f| [f.related.login, f.pretty_expression] }
|
|
115
117
|
expect(perms.first.related).to eq @client.user
|
|
116
118
|
expect(pretty).to eq [[ConnectionHelper::DEFAULT_USERNAME, "[Dev] IN ([tomas@gooddata.com])"]]
|
|
117
119
|
end
|
|
@@ -124,7 +126,7 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
124
126
|
[user_with_already_set_up_filter.login, @label.uri, "tomas@gooddata.com"]
|
|
125
127
|
]
|
|
126
128
|
@project.add_variable_permissions(filters, @variable)
|
|
127
|
-
expect(@variable.user_values.map {|f| [f.related.login, f.pretty_expression] })
|
|
129
|
+
expect(@variable.user_values.map { |f| [f.related.login, f.pretty_expression] })
|
|
128
130
|
.to eq [[ConnectionHelper::DEFAULT_USERNAME, "[Dev] IN ([tomas@gooddata.com])"]]
|
|
129
131
|
|
|
130
132
|
# Now let's add user filter to a different user. If we do not explicitely state that
|
|
@@ -135,16 +137,16 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
135
137
|
[another_user.login, @label.uri, "tomas@gooddata.com"]
|
|
136
138
|
]
|
|
137
139
|
@project.add_variable_permissions(new_filters, @variable)
|
|
138
|
-
expect(@variable.user_values.map {|f| [f.related.login, f.pretty_expression] })
|
|
140
|
+
expect(@variable.user_values.map { |f| [f.related.login, f.pretty_expression] })
|
|
139
141
|
.to eq [[another_user.login, "[Dev] IN ([tomas@gooddata.com])"]]
|
|
140
142
|
end
|
|
141
143
|
|
|
142
144
|
it "should set up false if all values are nonexistent" do
|
|
143
|
-
metric = GoodData::Fact.find_first_by_title('Lines Changed', client: @client, project: @project).create_metric
|
|
145
|
+
# metric = GoodData::Fact.find_first_by_title('Lines Changed', client: @client, project: @project).create_metric
|
|
144
146
|
filters = [[ConnectionHelper::DEFAULT_USERNAME, @label.uri, "NONEXISTENT1", "NONEXISTENT2", "NONEXISTENT3"]]
|
|
145
147
|
@project.add_variable_permissions(filters, @variable, ignore_missing_values: true)
|
|
146
148
|
# expect(metric.execute).to eq 9
|
|
147
|
-
expect(@variable.user_values.map {|f| [f.related.login, f.pretty_expression] })
|
|
149
|
+
expect(@variable.user_values.map { |f| [f.related.login, f.pretty_expression] })
|
|
148
150
|
.to eq [[ConnectionHelper::DEFAULT_USERNAME, "TRUE"]]
|
|
149
151
|
|
|
150
152
|
@project.add_variable_permissions(filters, @variable, ignore_missing_values: true, restrict_if_missing_all_values: true)
|
|
@@ -160,7 +162,7 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
160
162
|
[user_with_already_set_up_filter.login, @label.uri, "tomas@gooddata.com"]
|
|
161
163
|
]
|
|
162
164
|
@project.add_variable_permissions(filters, @variable)
|
|
163
|
-
expect(@variable.user_values.map {|f| [f.related.login, f.pretty_expression] })
|
|
165
|
+
expect(@variable.user_values.map { |f| [f.related.login, f.pretty_expression] })
|
|
164
166
|
.to eq [[ConnectionHelper::DEFAULT_USERNAME, "[Dev] IN ([tomas@gooddata.com])"]]
|
|
165
167
|
# Now let's add user filter to a different user. If we do not explicitely state that
|
|
166
168
|
# user_with_already_set_up_filter should keep his filter it will be removed
|
|
@@ -170,12 +172,12 @@ describe "Variables implementation", :constraint => 'slow' do
|
|
|
170
172
|
[another_user.login, @label.uri, "tomas@gooddata.com"]
|
|
171
173
|
]
|
|
172
174
|
@project.add_variable_permissions(new_filters, @variable, do_not_touch_filters_that_are_not_mentioned: true)
|
|
173
|
-
expect(@variable.user_values.map {|f| [f.related.login, f.pretty_expression] })
|
|
175
|
+
expect(@variable.user_values.map { |f| [f.related.login, f.pretty_expression] })
|
|
174
176
|
.to include([ConnectionHelper::DEFAULT_USERNAME, "[Dev] IN ([tomas@gooddata.com])"],
|
|
175
177
|
[another_user.login, "[Dev] IN ([tomas@gooddata.com])"])
|
|
176
178
|
end
|
|
177
179
|
|
|
178
|
-
it "should be able to update the filter value in place" do
|
|
180
|
+
it "should be able to update the filter value in place", broken: true do
|
|
179
181
|
pending 'FIXME: We cannot swap filters yet'
|
|
180
182
|
|
|
181
183
|
filters = [[ConnectionHelper::DEFAULT_USERNAME, @label.uri, "tomas@gooddata.com", "jirka@gooddata.com"]]
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
7
7
|
require 'gooddata'
|
|
8
|
-
require 'pry'
|
|
9
8
|
|
|
10
9
|
describe GoodData::Rest::Connection, :constraint => 'slow' do
|
|
11
|
-
|
|
12
10
|
it "should log in and disconnect" do
|
|
13
|
-
client = ConnectionHelper
|
|
11
|
+
client = ConnectionHelper.create_default_connection
|
|
14
12
|
expect(client).to be_kind_of(GoodData::Rest::Client)
|
|
15
13
|
|
|
16
14
|
client.get("/gdc/md")
|
|
@@ -61,7 +59,7 @@ describe GoodData::Rest::Connection, :constraint => 'slow' do
|
|
|
61
59
|
end
|
|
62
60
|
|
|
63
61
|
it "should log in and disconnect with SST" do
|
|
64
|
-
regular_client = ConnectionHelper
|
|
62
|
+
regular_client = ConnectionHelper.create_default_connection
|
|
65
63
|
sst = regular_client.connection.sst_token
|
|
66
64
|
|
|
67
65
|
sst_client = GoodData.connect(sst_token: sst, verify_ssl: false)
|
|
@@ -72,7 +70,7 @@ describe GoodData::Rest::Connection, :constraint => 'slow' do
|
|
|
72
70
|
end
|
|
73
71
|
|
|
74
72
|
it "should log in and disconnect with SST with additional params" do
|
|
75
|
-
regular_client = ConnectionHelper
|
|
73
|
+
regular_client = ConnectionHelper.create_default_connection
|
|
76
74
|
sst = regular_client.connection.sst_token
|
|
77
75
|
|
|
78
76
|
sst_client = GoodData.connect(sst_token: sst, verify_ssl: false, webdav_server: 'https://some_random_server/')
|
|
@@ -84,8 +82,8 @@ describe GoodData::Rest::Connection, :constraint => 'slow' do
|
|
|
84
82
|
end
|
|
85
83
|
|
|
86
84
|
it "should be able to regenerate TT" do
|
|
87
|
-
regular_client = ConnectionHelper
|
|
88
|
-
|
|
85
|
+
regular_client = ConnectionHelper.create_default_connection
|
|
86
|
+
regular_client.projects
|
|
89
87
|
regular_client.connection.headers.delete(:x_gdc_authtt)
|
|
90
88
|
regular_client.get('/gdc/md')
|
|
91
89
|
expect(regular_client.connection.headers).to have_key :x_gdc_authtt
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -75,9 +75,9 @@ RSpec.configure do |config|
|
|
|
75
75
|
end
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter
|
|
78
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new(
|
|
79
79
|
SimpleCov::Formatter::HTMLFormatter
|
|
80
|
-
|
|
80
|
+
)
|
|
81
81
|
|
|
82
82
|
SimpleCov.start do
|
|
83
83
|
add_filter 'spec/'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ require 'gooddata/bricks/bricks'
|
|
|
8
8
|
|
|
9
9
|
describe GoodData::Bricks::Brick do
|
|
10
10
|
it "Has GoodData::Bricks::Brick class" do
|
|
11
|
-
GoodData::Bricks::Brick.should_not
|
|
11
|
+
GoodData::Bricks::Brick.should_not be(nil)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
describe '#version' do
|
|
@@ -22,8 +22,7 @@ describe GoodData::Bricks::Brick do
|
|
|
22
22
|
|
|
23
23
|
it "should be possible to execute custom brick" do
|
|
24
24
|
class CustomBrick < GoodData::Bricks::Brick
|
|
25
|
-
|
|
26
|
-
def call(params)
|
|
25
|
+
def call(_params)
|
|
27
26
|
puts 'hello'
|
|
28
27
|
end
|
|
29
28
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -10,32 +10,28 @@ require 'gooddata/bricks/middleware/aws_middleware'
|
|
|
10
10
|
|
|
11
11
|
describe GoodData::Bricks::AWSMiddleware do
|
|
12
12
|
it 'should do nothing if the key "aws_client" is not there at all' do
|
|
13
|
-
middleware = GoodData::Bricks::AWSMiddleware.new(app:
|
|
13
|
+
middleware = GoodData::Bricks::AWSMiddleware.new(app: ->(_params) { 'Doing nothing' })
|
|
14
14
|
middleware.call({})
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
it 'should fail gracefully if value aws_client param not present even though the key is' do
|
|
18
|
-
middleware = GoodData::Bricks::AWSMiddleware.new(app:
|
|
18
|
+
middleware = GoodData::Bricks::AWSMiddleware.new(app: -> { 'Doing nothing' })
|
|
19
19
|
expect do
|
|
20
20
|
middleware.call('aws_client' => nil)
|
|
21
21
|
end.to raise_exception 'Unable to connect to AWS. Parameter "aws_client" seems to be empty'
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
it 'should fail gracefully if value secret_access_key is missing' do
|
|
25
|
-
middleware = GoodData::Bricks::AWSMiddleware.new(app:
|
|
25
|
+
middleware = GoodData::Bricks::AWSMiddleware.new(app: -> { 'Doing nothing' })
|
|
26
26
|
expect do
|
|
27
|
-
middleware.call('aws_client' => {
|
|
28
|
-
'access_key_id' => 'something'
|
|
29
|
-
})
|
|
27
|
+
middleware.call('aws_client' => { 'access_key_id' => 'something' })
|
|
30
28
|
end.to raise_exception 'Unable to connect to AWS. Parameter "secret_access_key" is missing'
|
|
31
29
|
end
|
|
32
30
|
|
|
33
31
|
it 'should fail gracefully if value access_key_id is missing' do
|
|
34
|
-
middleware = GoodData::Bricks::AWSMiddleware.new(app:
|
|
32
|
+
middleware = GoodData::Bricks::AWSMiddleware.new(app: -> { 'Doing nothing' })
|
|
35
33
|
expect do
|
|
36
|
-
middleware.call('aws_client' => {
|
|
37
|
-
'secret_access_key' => 'something'
|
|
38
|
-
})
|
|
34
|
+
middleware.call('aws_client' => { 'secret_access_key' => 'something' })
|
|
39
35
|
end.to raise_exception 'Unable to connect to AWS. Parameter "access_key_id" is missing'
|
|
40
36
|
end
|
|
41
37
|
|
|
@@ -43,9 +39,6 @@ describe GoodData::Bricks::AWSMiddleware do
|
|
|
43
39
|
middleware = GoodData::Bricks::AWSMiddleware.new(app: lambda do |params|
|
|
44
40
|
expect(params['aws_client']['s3_client']).to be_kind_of(AWS::S3)
|
|
45
41
|
end)
|
|
46
|
-
middleware.call('aws_client' => {
|
|
47
|
-
'secret_access_key' => 'something',
|
|
48
|
-
'access_key_id' => 'something'
|
|
49
|
-
})
|
|
42
|
+
middleware.call('aws_client' => { 'secret_access_key' => 'something', 'access_key_id' => 'something' })
|
|
50
43
|
end
|
|
51
44
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -10,6 +10,6 @@ require 'gooddata/bricks/middleware/bench_middleware'
|
|
|
10
10
|
|
|
11
11
|
describe GoodData::Bricks::BenchMiddleware do
|
|
12
12
|
it "Has GoodData::Bricks::BenchMiddleware class" do
|
|
13
|
-
GoodData::Bricks::BenchMiddleware.should_not
|
|
13
|
+
GoodData::Bricks::BenchMiddleware.should_not be(nil)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -10,6 +10,6 @@ require 'gooddata/bricks/middleware/bulk_salesforce_middleware'
|
|
|
10
10
|
|
|
11
11
|
describe GoodData::Bricks::BulkSalesforceMiddleware do
|
|
12
12
|
it "Has GoodData::Bricks::BulkSalesforceMiddleware class" do
|
|
13
|
-
GoodData::Bricks::BulkSalesforceMiddleware.should_not
|
|
13
|
+
GoodData::Bricks::BulkSalesforceMiddleware.should_not be(nil)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -10,6 +10,6 @@ require 'gooddata/bricks/middleware/gooddata_middleware'
|
|
|
10
10
|
|
|
11
11
|
describe GoodData::Bricks::GoodDataMiddleware do
|
|
12
12
|
it "Has GoodData::Bricks::GoodDataMiddleware class" do
|
|
13
|
-
GoodData::Bricks::GoodDataMiddleware.should_not
|
|
13
|
+
GoodData::Bricks::GoodDataMiddleware.should_not be(nil)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
#
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2017 GoodData Corporation. All rights reserved.
|
|
4
4
|
# This source code is licensed under the BSD-style license found in the
|
|
5
5
|
# LICENSE file in the root directory of this source tree.
|
|
6
6
|
|
|
@@ -10,6 +10,6 @@ require 'gooddata/bricks/middleware/logger_middleware'
|
|
|
10
10
|
|
|
11
11
|
describe GoodData::Bricks::LoggerMiddleware do
|
|
12
12
|
it "Has GoodData::Bricks::LoggerMiddleware class" do
|
|
13
|
-
GoodData::Bricks::LoggerMiddleware.should_not
|
|
13
|
+
GoodData::Bricks::LoggerMiddleware.should_not be(nil)
|
|
14
14
|
end
|
|
15
15
|
end
|