def test_attrib_dynamic_validation_fails_not_owner( attrib_request, attrib_handler: AttributeHandler): add_to_idr(attrib_handler.database_manager.idr_cache, attrib_request.operation['dest'], None) def validate(request, action_list): if not action_list[0].is_owner: raise UnauthorizedClientRequest("identifier", "reqId") attrib_handler.write_req_validator.validate = validate with pytest.raises(UnauthorizedClientRequest): attrib_handler.dynamic_validation(attrib_request)
def _register_domain_req_handlers(self): # Read handlers get_nym_handler = GetNymHandler(database_manager=self.node.db_manager) get_attribute_handler = GetAttributeHandler( database_manager=self.node.db_manager) get_schema_handler = GetSchemaHandler( database_manager=self.node.db_manager) get_claim_def_handler = GetClaimDefHandler( database_manager=self.node.db_manager) get_revoc_reg_def_handler = GetRevocRegDefHandler( database_manager=self.node.db_manager) get_revoc_reg_handler = GetRevocRegHandler( database_manager=self.node.db_manager) get_revoc_reg_delta_handler = GetRevocRegDeltaHandler( database_manager=self.node.db_manager, get_revocation_strategy=RevocRegDefHandler.get_revocation_strategy) # Write handlers nym_handler = NymHandler( config=self.node.config, database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) attrib_handler = AttributeHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) schema_handler = SchemaHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) claim_def_handler = ClaimDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) revoc_reg_def_handler = RevocRegDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) revoc_reg_entry_handler = RevocRegEntryHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator, get_revocation_strategy=RevocRegDefHandler.get_revocation_strategy) # Register write handlers self.node.write_manager.register_req_handler(nym_handler) self.node.write_manager.register_req_handler(attrib_handler) self.node.write_manager.register_req_handler(schema_handler) self.node.write_manager.register_req_handler(claim_def_handler) self.node.write_manager.register_req_handler(revoc_reg_def_handler) self.node.write_manager.register_req_handler(revoc_reg_entry_handler) # Additional handler for idCache self.register_idr_cache_nym_handler() # Register read handlers self.node.read_manager.register_req_handler(get_nym_handler) self.node.read_manager.register_req_handler(get_attribute_handler) self.node.read_manager.register_req_handler(get_schema_handler) self.node.read_manager.register_req_handler(get_claim_def_handler) self.node.read_manager.register_req_handler(get_revoc_reg_def_handler) self.node.read_manager.register_req_handler(get_revoc_reg_handler) self.node.read_manager.register_req_handler( get_revoc_reg_delta_handler)
def test_update_state(attrib_handler, attrib_request): seq_no = 1 txn_time = 1560241033 txn_id = "id" txn = reqToTxn(attrib_request) append_txn_metadata(txn, seq_no, txn_time, txn_id) attr_type, path, value, hashed_value, value_bytes = AttributeHandler.prepare_attr_for_state( txn) attrib_handler.update_state(txn, None, attrib_request) assert attrib_handler.get_from_state(path) == (hashed_value, seq_no, txn_time)
def _register_domain_req_handlers(self): # Read handlers get_nym_handler = GetNymHandler(database_manager=self.node.db_manager) get_attribute_handler = GetAttributeHandler( database_manager=self.node.db_manager) get_schema_handler = GetSchemaHandler( database_manager=self.node.db_manager) get_claim_def_handler = GetClaimDefHandler( database_manager=self.node.db_manager) get_revoc_reg_def_handler = GetRevocRegDefHandler( database_manager=self.node.db_manager) get_revoc_reg_handler = GetRevocRegHandler( database_manager=self.node.db_manager) get_revoc_reg_delta_handler = GetRevocRegDeltaHandler( database_manager=self.node.db_manager, get_revocation_strategy=RevocRegDefHandler.get_revocation_strategy) # Write handlers nym_handler = NymHandler( config=self.node.config, database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) attrib_handler = AttributeHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) schema_handler = SchemaHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) claim_def_handler = ClaimDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) revoc_reg_def_handler = RevocRegDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) revoc_reg_entry_handler = RevocRegEntryHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator, get_revocation_strategy=RevocRegDefHandler.get_revocation_strategy) json_ld_context_handler = JsonLdContextHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) rich_schema_handler = RichSchemaHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) rich_schema_encoding_handler = RichSchemaEncodingHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) rich_schema_mapping_handler = RichSchemaMappingHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) rich_schema_cred_def_handler = RichSchemaCredDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) rich_schema_pres_def_handler = RichSchemaPresDefHandler( database_manager=self.node.db_manager, write_req_validator=self.node.write_req_validator) get_rich_schema_obj_by_id_handler = GetRichSchemaObjectByIdHandler( database_manager=self.node.db_manager) get_rich_schema_obj_by_metadata_handler = GetRichSchemaObjectByMetadataHandler( database_manager=self.node.db_manager) # Register write handlers self.node.write_manager.register_req_handler(nym_handler) self.node.write_manager.register_req_handler(attrib_handler) self.node.write_manager.register_req_handler(schema_handler) self.node.write_manager.register_req_handler(claim_def_handler) self.node.write_manager.register_req_handler(revoc_reg_def_handler) self.node.write_manager.register_req_handler(revoc_reg_entry_handler) self.node.write_manager.register_req_handler(json_ld_context_handler) self.node.write_manager.register_req_handler(rich_schema_handler) self.node.write_manager.register_req_handler( rich_schema_encoding_handler) self.node.write_manager.register_req_handler( rich_schema_mapping_handler) self.node.write_manager.register_req_handler( rich_schema_cred_def_handler) self.node.write_manager.register_req_handler( rich_schema_pres_def_handler) # Additional handler for idCache self.register_idr_cache_nym_handler() # Register read handlers self.node.read_manager.register_req_handler(get_nym_handler) self.node.read_manager.register_req_handler(get_attribute_handler) self.node.read_manager.register_req_handler(get_schema_handler) self.node.read_manager.register_req_handler(get_claim_def_handler) self.node.read_manager.register_req_handler(get_revoc_reg_def_handler) self.node.read_manager.register_req_handler(get_revoc_reg_handler) self.node.read_manager.register_req_handler( get_revoc_reg_delta_handler) self.node.read_manager.register_req_handler( get_rich_schema_obj_by_id_handler) self.node.read_manager.register_req_handler( get_rich_schema_obj_by_metadata_handler)
def test_attrib_dynamic_validation_passes(attrib_request, attrib_handler: AttributeHandler): add_to_idr(attrib_handler.database_manager.idr_cache, attrib_request.operation['dest'], None) attrib_request._identifier = attrib_request.operation['dest'] attrib_handler.dynamic_validation(attrib_request)
def test_attrib_dynamic_validation_fails_not_owner( attrib_request, attrib_handler: AttributeHandler): add_to_idr(attrib_handler.database_manager.idr_cache, attrib_request.operation['dest'], None) with pytest.raises(UnauthorizedClientRequest): attrib_handler.dynamic_validation(attrib_request)
def test_attrib_dynamic_validation_fails(attrib_request, attrib_handler: AttributeHandler): with pytest.raises(InvalidClientRequest): attrib_handler.dynamic_validation(attrib_request)
def test_attrib_static_validation_fails(attrib_request, attrib_handler: AttributeHandler): attrib_request.operation[ENC] = randomString() with pytest.raises(InvalidClientRequest): attrib_handler.static_validation(attrib_request)
def test_attrib_static_validation_passes(attrib_request, attrib_handler: AttributeHandler): attrib_handler.static_validation(attrib_request)
def attrib_handler(db_manager, write_auth_req_validator): return AttributeHandler(db_manager, write_auth_req_validator)
def attrib_handler(db_manager): f_validator = FakeSomething() f_validator.validate = lambda request, action_list: True return AttributeHandler(db_manager, f_validator)
def attrib_handler(db_manager): return AttributeHandler(db_manager)