Minilcm diff API #324
fw-lite.yaml
on: pull_request
Build FW Lite and run tests
4m 56s
Publish FW Lite app for Mac
0s
Publish FW Lite app for Linux
0s
Publish FW Lite app for Windows
0s
Create Release
0s
Annotations
10 errors and 11 warnings
FwDataMiniLcmBridge.Tests.MiniLcmTests.CreateEntryTests.CanCreateEntry_AutoFaker
Expected property createdEntry.Senses[0].PartOfSpeech to be "bandwidth" with a length of 9, but "" has a length of 0, differs near "" (index 0).
Expected property createdEntry.Senses[0].PartOfSpeechId to be {0d084fa7-2f38-4856-6760-d0256cc91e18}, but found <null>.
Expected property createdEntry.Senses[0].SemanticDomains to be a collection with 1 item(s), but found an empty collection.
Expected property createdEntry.Components[0].Id to be {fbfd3a5c-1cef-5f75-a117-fe810ab8300f}, but found {00000000-0000-0000-0000-000000000000}.
Expected property createdEntry.Components[0].ComplexFormHeadword to be "test component 1" with a length of 16, but "Plaza" has a length of 5, differs near "Pla" (index 0).
Expected property createdEntry.Components[0].ComponentHeadword to be "Pine" with a length of 4, but "test component 1" has a length of 16, differs near "tes" (index 0).
Expected property createdEntry.ComplexForms[0].Id to be {d4a1a8cc-eedf-fb18-5e25-061c759ee780}, but found {00000000-0000-0000-0000-000000000000}.
Expected property createdEntry.ComplexForms[0].ComplexFormHeadword to be "Trail" with a length of 5, but "test complex form 1" has a length of 19, differs near "tes" (index 0).
Expected property createdEntry.ComplexForms[0].ComponentHeadword to be "test complex form 1" with a length of 19, but "Plaza" has a length of 5, differs near "Pla" (index 0).
Expected property createdEntry.ComplexFormTypes to be a collection with 1 item(s), but
{
MiniLcm.Models.ComplexFormType
{
DeletedAt = <null>,
Id = {fec038ed-6a8c-4fa5-bc96-a4f515a98c50},
Name = {[MiniLcm.Models.WritingSystemId
{
Code = "en"
}] = "Unspecified Complex Form"
}
,
Version = <null>
},
MiniLcm.Models.ComplexFormType
{
DeletedAt = <null>,
Id = {3af63735-a1ce-467a-ab17-390808d3e0ae},
Name = {[MiniLcm.Models.WritingSystemId
{
Code = "en"
}] = "RAM"
}
,
Version = <null>
}
}
contains 1 item(s) more than
{
MiniLcm.Models.ComplexFormType
{
DeletedAt = <null>,
Id = {3af63735-a1ce-467a-ab17-390808d3e0ae},
Name = {[MiniLcm.Models.WritingSystemId
{
Code = "en"
}] = "RAM"
}
,
Version = <null>
}
}.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Exclude member when (info.Name == "Version")
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
|
FwLiteProjectSync.Tests.UpdateDiffTests.ExampleSentenceDiffShouldUpdateAllFields:
backend/FwLite/FwLiteProjectSync.Tests/UpdateDiffTests.cs#L51
Expected property before.Version to be "JBOD", but found <null>.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Exclude member Id
- Exclude member SenseId
- Exclude member DeletedAt
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
|
FwLiteProjectSync.Tests.UpdateDiffTests.SenseDiffShouldUpdateAllFields:
backend/FwLite/FwLiteProjectSync.Tests/UpdateDiffTests.cs#L40
Expected property before.Version to be "Cotton", but found <null>.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Exclude member Id
- Exclude member EntryId
- Exclude member DeletedAt
- Exclude member ExampleSentences
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
|
LcmCrdt.Tests.DataModelSnapshotTests.VerifyDbModel
VerifyException : Directory: D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\LcmCrdt.Tests
NotEqual:
- Received: DataModelSnapshotTests.VerifyDbModel.received.txt
Verified: DataModelSnapshotTests.VerifyDbModel.verified.txt
FileContent:
NotEqual:
Received: DataModelSnapshotTests.VerifyDbModel.received.txt
Model:
EntityType: ProjectData
Properties:
Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd
ClientId (Guid) Required
FwProjectId (Guid?)
Name (string) Required
OriginDomain (string)
Keys:
Id PK
Annotations:
DiscriminatorProperty:
Relational:FunctionName:
Relational:Schema:
Relational:SqlQuery:
Relational:TableName: ProjectData
Relational:ViewName:
Relational:ViewSchema:
EntityType: ComplexFormComponent
Properties:
Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd
ComplexFormEntryId (Guid) Required FK Index
ComplexFormHeadword (string)
ComponentEntryId (Guid) Required FK Index
ComponentHeadword (string)
ComponentSenseId (Guid?) FK Index
DeletedAt (DateTimeOffset?)
SnapshotId (no field, Guid?) Shadow FK Index
Version (string)
Keys:
Id PK
Foreign keys:
ComplexFormComponent {'ComplexFormEntryId'} -> Entry {'Id'} Required Cascade ToDependent: Components
ComplexFormComponent {'ComponentEntryId'} -> Entry {'Id'} Required Cascade ToDependent: ComplexForms
ComplexFormComponent {'ComponentSenseId'} -> Sense {'Id'} Cascade
ComplexFormComponent {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull
Indexes:
ComplexFormEntryId
ComponentEntryId
ComponentSenseId
SnapshotId Unique
Annotations:
DiscriminatorProperty:
Relational:FunctionName:
Relational:Schema:
Relational:SqlQuery:
Relational:TableName: ComplexFormComponents
Relational:ViewName:
Relational:ViewSchema:
EntityType: ComplexFormType
Properties:
Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd
DeletedAt (DateTimeOffset?)
Name (MultiString) Required
Annotations:
Relational:ColumnType: jsonb
SnapshotId (no field, Guid?) Shadow FK Index
Version (string)
Keys:
Id PK
Foreign keys:
ComplexFormType {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull
Indexes:
SnapshotId Unique
Annotations:
DiscriminatorProperty:
Relational:FunctionName:
Relational:Schema:
Relational:SqlQuery:
Relational:TableName: ComplexFormType
Relational:ViewName:
Relational:ViewSchema:
EntityType: Entry
Properties:
Id (Guid) Required PK AfterSave:Throw ValueGenerated.OnAdd
CitationForm (MultiString) Required
Annotations:
Relational:ColumnType: jsonb
ComplexFormTypes (IList<ComplexFormType>) Required
Annotations:
Relational:ColumnType: jsonb
DeletedAt (DateTimeOffset?)
LexemeForm (MultiString) Required
Annotations:
Relational:ColumnType: jsonb
LiteralMeaning (MultiString) Required
Annotations:
Relational:ColumnType: jsonb
Note (MultiString) Required
Annotations:
Relational:ColumnType: jsonb
SnapshotId (no field, Guid?) Shadow FK Index
Version (string)
Navigations:
ComplexForms (IList<ComplexFormComponent>) Collection ToDependent ComplexFormComponent
Components (IList<ComplexFormComponent>) Collection ToDependent ComplexFormComponent
Senses (IList<Sense>) Collection ToDependent Sense
Keys:
Id PK
Foreign keys:
Entry {'SnapshotId'} -> ObjectSnapshot {'Id'} Unique SetNull
Indexes:
SnapshotId Unique
Annotations:
DiscriminatorProperty:
Relational:FunctionName:
Relational:Schema:
Relational:SqlQuery:
Relational:TableName: Entry
Relational:ViewName:
Relational:ViewSchema:
EntityType: Exam
|
FwLiteProjectSync.Tests.UpdateDiffTests.EntryDiffShouldUpdateAllFields:
backend/FwLite/FwLiteProjectSync.Tests/UpdateDiffTests.cs#L25
Expected property before.Version to be "sky blue", but found <null>.
With configuration:
- Use declared types and members
- Compare enums by value
- Compare tuples by their properties
- Compare anonymous types by their properties
- Compare records by their members
- Include non-browsable members
- Exclude member Id
- Exclude member DeletedAt
- Exclude member Senses
- Exclude member Components
- Exclude member ComplexForms
- Exclude member ComplexFormTypes
- Match member by name (or throw)
- Be strict about the order of items in byte arrays
- Without automatic conversion.
|
FwLiteProjectSync.Tests.SyncTests.SyncFailsWithMismatchedProjectIds
System.IO.IOException : The process cannot access the file 'D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\FwLiteProjectSync.Tests\bin\Release\net8.0\sena-3\LcmCrdt\sena-3.sqlite' because it is being used by another process.
|
FwLiteProjectSync.Tests.SyncTests.CreatingAnEntryInEachProjectSyncsAcrossBoth
System.IO.IOException : The process cannot access the file 'D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\FwLiteProjectSync.Tests\bin\Release\net8.0\sena-3\LcmCrdt\sena-3.sqlite' because it is being used by another process.
|
FwLiteProjectSync.Tests.SyncTests.FirstSyncJustDoesAnImport
System.IO.IOException : The process cannot access the file 'D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\FwLiteProjectSync.Tests\bin\Release\net8.0\sena-3\LcmCrdt\sena-3.sqlite' because it is being used by another process.
|
FwLiteProjectSync.Tests.SyncTests.UpdatingAnEntryInEachProjectSyncsAcrossBoth
System.IO.IOException : The process cannot access the file 'D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\FwLiteProjectSync.Tests\bin\Release\net8.0\sena-3\LcmCrdt\sena-3.sqlite' because it is being used by another process.
|
FwLiteProjectSync.Tests.SyncTests.AddingASenseToAnEntryInEachProjectSyncsAcrossBoth
System.IO.IOException : The process cannot access the file 'D:\a\languageforge-lexbox\languageforge-lexbox\backend\FwLite\FwLiteProjectSync.Tests\bin\Release\net8.0\sena-3\LcmCrdt\sena-3.sqlite' because it is being used by another process.
|
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge.Tests/Fixtures/MockFwProjectList.cs#L6
Parameter 'IOptions<FwDataBridgeConfig> config' is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well.
|
Build FW Lite and run tests:
backend/FwLite/MiniLcm/InMemoryApi.cs#L214
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/MiniLcm/InMemoryApi.cs#L219
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/MiniLcm/InMemoryApi.cs#L251
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/MiniLcm/InMemoryApi.cs#L270
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge/LcmUtils/LcmThreadedProgress.cs#L10
The event 'LcmThreadedProgress.Canceling' is never used
|
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge/Api/UpdateProxy/UpdateSenseProxy.cs#L122
Observe the awaitable result of this method call by awaiting it, assigning to a variable, or passing it to another method (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD110.md)
|
Build FW Lite and run tests:
backend/FwLite/FwDataMiniLcmBridge/Api/UpdateProxy/UpdateEntryProxy.cs#L53
Observe the awaitable result of this method call by awaiting it, assigning to a variable, or passing it to another method (https://github.com/Microsoft/vs-threading/blob/main/doc/analyzers/VSTHRD110.md)
|
Build FW Lite and run tests:
backend/FwLite/LcmCrdt/Changes/RemoveSemanticDomainChange.cs#L11
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
|
Build FW Lite and run tests:
backend/FwLite/FwLiteProjectSync/DryRunMiniLcmApi.cs#L30
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(MiniLcm.Models.WritingSystemType)2' is not covered.
|
Build FW Lite and run tests:
backend/FwLite/LocalWebApp/SyncService.cs#L14
Parameter 'factory' is unread.
|