Skip to content

Commit

Permalink
130.dockter.1 (#131)
Browse files Browse the repository at this point in the history
* #130 Update dependencies

* #130 Rename method calls

* #130 Savepoint

* #130 Savepoint

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation

* #130 Fix indentation
  • Loading branch information
docktermj authored Feb 26, 2024
1 parent eb5385d commit 508f552
Show file tree
Hide file tree
Showing 11 changed files with 974 additions and 2,109 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ target/

bin/__pycache__
.pydevproject
/.pytest_cache/

.coverage
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

-

## [0.10.0] - 2024-02-26

### Changed in 0.10.0

- Updated dependencies
- Updated names used in `g2-sdk-json-type-definition`
- Deleted methods not used in V4

## [0.9.0] - 2024-01-26

### Changed in 0.9.0
Expand Down
118 changes: 62 additions & 56 deletions bin/generate_senzing_unmarshal_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
Used to generate senzing/unmarshal_test.go
"""

import logging
import json
import logging
import os
import re

from test_cases_from_g2_sdk_json_type_definition import TEST_CASES

IS_DEBUG = False
Expand All @@ -16,57 +17,51 @@
OUTPUT_FILE = "./senzing/unmarshal_test.go"

NAME_MAP = {
"DiagnosticCheckDbperfResponse": "DiagnosticCheckDBPerfResponse",
"DiagnosticGetDbinfoResponse": "DiagnosticGetDBInfoResponse",
"EngineAddRecordWithInfoWithReturnedRecordIdresponse": "EngineAddRecordWithInfoWithReturnedRecordIDResponse",
"EngineExportConfigAndConfigIdresponse": "EngineExportConfigAndConfigIDResponse",
"EngineFindInterestingEntitiesByEntityIdresponse": "EngineFindInterestingEntitiesByEntityIDResponse",
"EngineFindInterestingEntitiesByRecordIdresponse": "EngineFindInterestingEntitiesByRecordIDResponse",
"EngineFindNetworkByEntityIdresponse": "EngineFindNetworkByEntityIDResponse",
"EngineFindNetworkByEntityIdv2response": "EngineFindNetworkByEntityIDV2Response",
"EngineFindNetworkByRecordIdresponse": "EngineFindNetworkByRecordIDResponse",
"EngineFindNetworkByRecordIdv2response": "EngineFindNetworkByRecordIDV2Response",
"EngineFindPathByEntityIdresponse": "EngineFindPathByEntityIDResponse",
"EngineFindPathByEntityIdv2response": "EngineFindPathByEntityIDV2Response",
"EngineFindPathByRecordIdresponse": "EngineFindPathByRecordIDResponse",
"EngineFindPathByRecordIdv2response": "EngineFindPathByRecordIDV2Response",
"EngineFindPathExcludingByEntityIdresponse": "EngineFindPathExcludingByEntityIDResponse",
"EngineFindPathExcludingByEntityIdv2response": "EngineFindPathExcludingByEntityIDV2Response",
"EngineFindPathExcludingByRecordIdresponse": "EngineFindPathExcludingByRecordIDResponse",
"EngineFindPathExcludingByRecordIdv2response": "EngineFindPathExcludingByRecordIDV2Response",
"EngineFindPathIncludingSourceByEntityIdresponse": "EngineFindPathIncludingSourceByEntityIDResponse",
"EngineFindPathIncludingSourceByEntityIdv2response": "EngineFindPathIncludingSourceByEntityIDV2Response",
"EngineFindPathIncludingSourceByRecordIdresponse": "EngineFindPathIncludingSourceByRecordIDResponse",
"EngineFindPathIncludingSourceByRecordIdv2response": "EngineFindPathIncludingSourceByRecordIDV2Response",
"EngineGetEntityByEntityIdresponse": "EngineGetEntityByEntityIDResponse",
"EngineGetEntityByEntityIdv2response": "EngineGetEntityByEntityIDV2Response",
"EngineGetEntityByRecordIdresponse": "EngineGetEntityByRecordIDResponse",
"EngineGetEntityByRecordIdv2response": "EngineGetEntityByRecordIDV2Response",
"EngineGetVirtualEntityByRecordIdresponse": "EngineGetVirtualEntityByRecordIDResponse",
"EngineGetVirtualEntityByRecordIdv2response": "EngineGetVirtualEntityByRecordIDV2Response",
"EngineHowEntityByEntityIdresponse": "EngineHowEntityByEntityIDResponse",
"EngineHowEntityByEntityIdv2response": "EngineHowEntityByEntityIDV2Response",
"EngineSearchByAttributesV2response": "EngineSearchByAttributesV2Response",
"EngineWhyEntitiesV2response": "EngineWhyEntitiesV2Response",
"EngineWhyEntityByEntityIdresponse": "EngineWhyEntityByEntityIDResponse",
"EngineWhyEntityByEntityIdv2response": "EngineWhyEntityByEntityIDV2Response",
"EngineWhyEntityByRecordIdresponse": "EngineWhyEntityByRecordIDResponse",
"EngineWhyEntityByRecordIdv2response": "EngineWhyEntityByRecordIDV2Response",
"EngineWhyRecordsV2response": "EngineWhyRecordsV2Response",
"DiagnosticFindEntitiesByFeatureIdsResponse": "DiagnosticFindEntitiesByFeatureIDsResponse",
"EngineGetRecordV2response": "EngineGetRecordV2Response",
"EngineSearchByAttributesV3response": "EngineSearchByAttributesV3Response"
"G2diagnosticCheckDbperfResponse": "G2diagnosticCheckDBPerfResponse",
"G2engineExportConfigAndConfigIdresponse": "G2engineExportConfigAndConfigIDResponse",
"G2engineFindInterestingEntitiesByEntityIdresponse": "G2engineFindInterestingEntitiesByEntityIDResponse",
"G2engineFindInterestingEntitiesByRecordIdresponse": "G2engineFindInterestingEntitiesByRecordIDResponse",
"G2engineFindNetworkByEntityIdresponse": "G2engineFindNetworkByEntityIDResponse",
"G2engineFindNetworkByEntityIdv2response": "G2engineFindNetworkByEntityIDV2Response",
"G2engineFindNetworkByRecordIdresponse": "G2engineFindNetworkByRecordIDResponse",
"G2engineFindNetworkByRecordIdv2response": "G2engineFindNetworkByRecordIDV2Response",
"G2engineFindPathByEntityIdresponse": "G2engineFindPathByEntityIDResponse",
"G2engineFindPathByEntityIdv2response": "G2engineFindPathByEntityIDV2Response",
"G2engineFindPathByRecordIdresponse": "G2engineFindPathByRecordIDResponse",
"G2engineFindPathByRecordIdv2response": "G2engineFindPathByRecordIDV2Response",
"G2engineFindPathExcludingByEntityIdresponse": "G2engineFindPathExcludingByEntityIDResponse",
"G2engineFindPathExcludingByEntityIdv2response": "G2engineFindPathExcludingByEntityIDV2Response",
"G2engineFindPathExcludingByRecordIdresponse": "G2engineFindPathExcludingByRecordIDResponse",
"G2engineFindPathExcludingByRecordIdv2response": "G2engineFindPathExcludingByRecordIDV2Response",
"G2engineFindPathIncludingSourceByEntityIdresponse": "G2engineFindPathIncludingSourceByEntityIDResponse",
"G2engineFindPathIncludingSourceByEntityIdv2response": "G2engineFindPathIncludingSourceByEntityIDV2Response",
"G2engineFindPathIncludingSourceByRecordIdresponse": "G2engineFindPathIncludingSourceByRecordIDResponse",
"G2engineFindPathIncludingSourceByRecordIdv2response": "G2engineFindPathIncludingSourceByRecordIDV2Response",
"G2engineGetEntityByEntityIdresponse": "G2engineGetEntityByEntityIDResponse",
"G2engineGetEntityByEntityIdv2response": "G2engineGetEntityByEntityIDV2Response",
"G2engineGetEntityByRecordIdresponse": "G2engineGetEntityByRecordIDResponse",
"G2engineGetEntityByRecordIdv2response": "G2engineGetEntityByRecordIDV2Response",
"G2engineGetRecordV2response": "G2engineGetRecordV2Response",
"G2engineGetVirtualEntityByRecordIdresponse": "G2engineGetVirtualEntityByRecordIDResponse",
"G2engineGetVirtualEntityByRecordIdv2response": "G2engineGetVirtualEntityByRecordIDV2Response",
"G2engineHowEntityByEntityIdresponse": "G2engineHowEntityByEntityIDResponse",
"G2engineHowEntityByEntityIdv2response": "G2engineHowEntityByEntityIDV2Response",
"G2engineSearchByAttributesV2response": "G2engineSearchByAttributesV2Response",
"G2engineSearchByAttributesV3response": "G2engineSearchByAttributesV3Response",
"G2engineWhyEntitiesV2response": "G2engineWhyEntitiesV2Response",
"G2engineWhyRecordsV2response": "G2engineWhyRecordsV2Response",
}


# -----------------------------------------------------------------------------
# --- Helpers
# -----------------------------------------------------------------------------


def canonical_json(json_string):
"""Create compact JSON. No spaces."""
json_object = json.loads(json_string)
result = json.dumps(json_object, sort_keys=True, separators=(',', ':'))
result = json.dumps(json_object, sort_keys=True, separators=(",", ":"))
return result


Expand All @@ -76,14 +71,15 @@ def canonical_json(json_string):

# Set up logging.

logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO)
logging.basicConfig(format="%(asctime)s %(message)s", level=logging.INFO)

logging.info("{0}".format("-" * 80))
logging.info("--- {0} - Begin".format(os.path.basename(__file__)))
logging.info("{0}".format("-" * 80))

# Create multi-line strings for output.

# noqa: E101
OUTPUT_HEADER = """// Code generated by generate_senzing_unmarshal_test.py. DO NOT EDIT.
package senzing
Expand All @@ -102,8 +98,6 @@ def canonical_json(json_string):
printResults = false
)
var ()
// ----------------------------------------------------------------------------
// Internal functions
// ----------------------------------------------------------------------------
Expand Down Expand Up @@ -132,16 +126,15 @@ def canonical_json(json_string):
// ----------------------------------------------------------------------------
// Test interface functions
// ----------------------------------------------------------------------------
"""
""" # noqa: E101, W191

TEST_FUNCTION_TEMPLATE = f"""
ctx := context.TODO()
ctx := context.TODO()
jsonString := `{{json}}`
result, err := Unmarshal{{struct}}(ctx, jsonString)
result, err := Unmarshal{{struct}}(ctx, jsonString)
testError(test, ctx, err)
printActual(test, result)
"""
printActual(test, result)
""" # noqa: E101,F541,W191

OUTPUT_FOOTER = """
"""
Expand All @@ -150,12 +143,25 @@ def canonical_json(json_string):
file.write(OUTPUT_HEADER)
for senzing_api_class, method_test_cases in TEST_CASES.items():
for test_case_name, test_case_json in method_test_cases.items():
better_test_case_name = re.sub('[^0-9a-zA-Z]+', '', test_case_name).capitalize()
file.write("\n")
better_test_case_name = re.sub(
"[^0-9a-zA-Z]+", "", test_case_name
).capitalize()
canonical_test_case_json = canonical_json(test_case_json)
canonical_senzing_api_class = NAME_MAP.get(senzing_api_class, senzing_api_class)
file.write("func Test{0}{1}(test *testing.T) {{".format(senzing_api_class, better_test_case_name))
file.write(TEST_FUNCTION_TEMPLATE.format(json=canonical_test_case_json, struct=canonical_senzing_api_class))
file.write("}\n\n")
canonical_senzing_api_class = NAME_MAP.get(
senzing_api_class, senzing_api_class
)
file.write(
"func Test{0}{1}(test *testing.T) {{".format(
senzing_api_class, better_test_case_name
)
)
file.write(
TEST_FUNCTION_TEMPLATE.format(
json=canonical_test_case_json, struct=canonical_senzing_api_class
)
)
file.write("}")
file.write(OUTPUT_FOOTER)

# Epilog.
Expand Down
368 changes: 132 additions & 236 deletions bin/test_cases_from_g2_sdk_json_type_definition.py

Large diffs are not rendered by default.

30 changes: 0 additions & 30 deletions g2api/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,27 +60,9 @@ type G2configmgr interface {
// The G2diagnostic interface is a Golang representation of Senzing's libg2diagnostic.h
type G2diagnostic interface {
CheckDBPerf(ctx context.Context, secondsToRun int) (string, error)
// CloseEntityListBySize(ctx context.Context, entityListBySizeHandle uintptr) error
Destroy(ctx context.Context) error
// FetchNextEntityBySize(ctx context.Context, entityListBySizeHandle uintptr) (string, error)
// FindEntitiesByFeatureIDs(ctx context.Context, features string) (string, error)
GetAvailableMemory(ctx context.Context) (int64, error)
// GetDataSourceCounts(ctx context.Context) (string, error)
GetDBInfo(ctx context.Context) (string, error)
// GetEntityDetails(ctx context.Context, entityID int64, includeInternalFeatures int) (string, error)
// GetEntityListBySize(ctx context.Context, entitySize int) (uintptr, error)
// GetEntityResume(ctx context.Context, entityID int64) (string, error)
// GetEntitySizeBreakdown(ctx context.Context, minimumEntitySize int, includeInternalFeatures int) (string, error)
// GetFeature(ctx context.Context, libFeatID int64) (string, error)
// GetGenericFeatures(ctx context.Context, featureType string, maximumEstimatedCount int) (string, error)
GetLogicalCores(ctx context.Context) (int, error)
// GetMappingStatistics(ctx context.Context, includeInternalFeatures int) (string, error)
GetObserverOrigin(ctx context.Context) string
GetPhysicalCores(ctx context.Context) (int, error)
// GetRelationshipDetails(ctx context.Context, relationshipID int64, includeInternalFeatures int) (string, error)
// GetResolutionStatistics(ctx context.Context) (string, error)
GetSdkId(ctx context.Context) string
GetTotalSystemMemory(ctx context.Context) (int64, error)
Init(ctx context.Context, moduleName string, iniParams string, verboseLogging int64) error
InitWithConfigID(ctx context.Context, moduleName string, iniParams string, initConfigID int64, verboseLogging int64) error
RegisterObserver(ctx context.Context, observer observer.Observer) error
Expand All @@ -94,9 +76,6 @@ type G2diagnostic interface {
type G2engine interface {
AddRecord(ctx context.Context, dataSourceCode string, recordID string, jsonData string, loadID string) error
AddRecordWithInfo(ctx context.Context, dataSourceCode string, recordID string, jsonData string, loadID string, flags int64) (string, error)
// AddRecordWithInfoWithReturnedRecordID(ctx context.Context, dataSourceCode string, jsonData string, loadID string, flags int64) (string, string, error)
// AddRecordWithReturnedRecordID(ctx context.Context, dataSourceCode string, jsonData string, loadID string) (string, error)
// CheckRecord(ctx context.Context, record string, recordQueryList string) (string, error)
CloseExport(ctx context.Context, responseHandle uintptr) error
CountRedoRecords(ctx context.Context) (int64, error)
DeleteRecord(ctx context.Context, dataSourceCode string, recordID string, loadID string) error
Expand Down Expand Up @@ -145,13 +124,8 @@ type G2engine interface {
Init(ctx context.Context, moduleName string, iniParams string, verboseLogging int64) error
InitWithConfigID(ctx context.Context, moduleName string, iniParams string, initConfigID int64, verboseLogging int64) error
PrimeEngine(ctx context.Context) error
Process(ctx context.Context, record string) error
// ProcessRedoRecord(ctx context.Context) (string, error)
// ProcessRedoRecordWithInfo(ctx context.Context, flags int64) (string, string, error)
ProcessWithInfo(ctx context.Context, record string, flags int64) (string, error)
// ProcessWithResponse(ctx context.Context, record string) (string, error)
// ProcessWithResponseResize(ctx context.Context, record string) (string, error)
PurgeRepository(ctx context.Context) error
ReevaluateEntity(ctx context.Context, entityID int64, flags int64) error
ReevaluateEntityWithInfo(ctx context.Context, entityID int64, flags int64) (string, error)
ReevaluateRecord(ctx context.Context, dataSourceCode string, recordID string, flags int64) error
Expand All @@ -168,10 +142,6 @@ type G2engine interface {
UnregisterObserver(ctx context.Context, observer observer.Observer) error
WhyEntities_V2(ctx context.Context, entityID1 int64, entityID2 int64, flags int64) (string, error)
WhyEntities(ctx context.Context, entityID1 int64, entityID2 int64) (string, error)
WhyEntityByEntityID_V2(ctx context.Context, entityID int64, flags int64) (string, error)
WhyEntityByEntityID(ctx context.Context, entityID int64) (string, error)
WhyEntityByRecordID_V2(ctx context.Context, dataSourceCode string, recordID string, flags int64) (string, error)
WhyEntityByRecordID(ctx context.Context, dataSourceCode string, recordID string) (string, error)
WhyRecords_V2(ctx context.Context, dataSourceCode1 string, recordID1 string, dataSourceCode2 string, recordID2 string, flags int64) (string, error)
WhyRecords(ctx context.Context, dataSourceCode1 string, recordID1 string, dataSourceCode2 string, recordID2 string) (string, error)
}
Expand Down
Loading

0 comments on commit 508f552

Please sign in to comment.