public void GivenAConformanceBuilder_WhenSyncSearchParameters_ThenDocumentationIsAdded() { string description = "Logical id of this artifact"; _searchParameterDefinitionManager.GetSearchParameters("Account") .Returns(new[] { new SearchParameterInfo("_id", "_id", SearchParamType.Token, description: description), }); _builder.SyncSearchParameters(); ITypedElement statement = _builder.Build(); object idDocumentation = statement.Scalar($"{ResourceQuery("Account")}.searchParam.where(name = '_id').documentation"); Assert.Equal(description, idDocumentation); }
public async Task Handle(RebuildCapabilityStatement notification, CancellationToken cancellationToken) { await _metadataSemaphore.WaitAsync(cancellationToken); try { if (_builder != null) { switch (notification.Part) { case RebuildPart.SearchParameter: // Update search params; _builder.SyncSearchParameters(); break; case RebuildPart.Profiles: // Update supported profiles; _builder.SyncProfiles(true); break; } } _metadata = null; } finally { _metadataSemaphore.Release(); } }