Created the calculatedAttributes_test package.
This commit is contained in:
parent
649bf318c2
commit
8b0c41af45
8 changed files with 259 additions and 145 deletions
|
@ -6,6 +6,7 @@ Small and insignificant changes may not be included in this log.
|
||||||
|
|
||||||
## Unversioned Changes
|
## Unversioned Changes
|
||||||
|
|
||||||
|
* Created the calculatedAttributes_test package. - *Simon Sarasova*
|
||||||
* Improved the creation process of genetic analyses in various ways. A sample of offspring polygenic disease risk scores are now created and viewable by users. - *Simon Sarasova*
|
* Improved the creation process of genetic analyses in various ways. A sample of offspring polygenic disease risk scores are now created and viewable by users. - *Simon Sarasova*
|
||||||
* Improved the genetic analysis creation process in various ways. Recombination breakpoints are more accurately predicted now. - *Simon Sarasova*
|
* Improved the genetic analysis creation process in various ways. Recombination breakpoints are more accurately predicted now. - *Simon Sarasova*
|
||||||
* Improved the identity hash generation tool. The fastest quantity of goroutines is now identified and used. - *Simon Sarasova*
|
* Improved the identity hash generation tool. The fastest quantity of goroutines is now identified and used. - *Simon Sarasova*
|
||||||
|
|
|
@ -9,4 +9,4 @@ Many other people have written code for modules which are imported by Seekia. Th
|
||||||
|
|
||||||
Name | Date Of First Commit | Number Of Commits
|
Name | Date Of First Commit | Number Of Commits
|
||||||
--- | --- | ---
|
--- | --- | ---
|
||||||
Simon Sarasova | June 13, 2023 | 251
|
Simon Sarasova | June 13, 2023 | 252
|
|
@ -77,155 +77,20 @@ func SignInToAppUser(userName string, startBackgroundJobs bool)error{
|
||||||
|
|
||||||
appMemory.SetMemoryEntry("AppUser", userName)
|
appMemory.SetMemoryEntry("AppUser", userName)
|
||||||
|
|
||||||
userDirectoryPath, err := localFilesystem.GetAppUserFolderPath()
|
err := createAppUserDataFolders()
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
_, err = localFilesystem.CreateFolder(userDirectoryPath)
|
err = initializeAppUserDatastores()
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMap.InitializeMyMapsFolder()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myList.InitializeMyListsFolder()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMapList.InitializeMyMapListsFolder()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = mySeedPhrases.InitializeMySeedPhrasesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myBroadcasts.InitializeMyBroadcastsFolders()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myLocalDesires.InitializeMyDesiresDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMateCriteria.InitializeMyCriteriaDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMatchScore.InitializeMyMatchScorePointsDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = mySettings.InitializeMySettingsDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myLocalProfiles.InitializeMyLocalProfileDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMatches.InitializeMyMatchesDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myContacts.InitializeMyContactDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myIgnoredUsers.InitializeMyIgnoredUsersDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myBlockedUsers.InitializeMyBlockedUsersDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = mySecretInboxes.InitializeMySecretInboxesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myChatKeys.InitializeMyChatKeysDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myCipherKeys.InitializeMyMessageCipherKeysDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myReadStatus.InitializeMyReadStatusDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myConversationIndexes.InitializeMyConversationIndexesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myChatFilters.InitializeMyChatFiltersDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myLikedUsers.InitializeMyLikedUsersDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myChatConversations.InitializeMyChatConversationsDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myChatMessages.InitializeMyChatMessageDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myMessageQueue.InitializeMyMessageQueueDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = peerChatKeys.InitializePeerChatKeysDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = peerSecretInboxes.InitializePeerSecretInboxesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = peerDevices.InitializePeerDevicesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = sendMessages.InitializeSentMessagesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myGenomes.InitializeMyGenomeDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myGenomes.CreateUserGenomesFolder()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myPeople.InitializeMyGenomePeopleDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myCouples.InitializeMyGenomeCouplesDatastore()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myAnalyses.InitializeMyAnalysesDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myAnalyses.CreateMyAnalysesFolder()
|
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
err = myAnalyses.PruneOldAnalyses()
|
err = myAnalyses.PruneOldAnalyses()
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
err = viewedContent.InitializeViewedContentDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = logger.InitializeMyLogDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = viewedModerators.InitializeViewedModeratorsDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = viewedHosts.InitializeViewedHostsDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = mySkippedContent.InitializeMySkippedContentDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = myHiddenContent.InitializeMyHiddenContentDatastores()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
if (applicationVariablesInitialized == false){
|
if (applicationVariablesInitialized == false){
|
||||||
|
|
||||||
// This only needs to be done once per application startup
|
// This only needs to be done once per application startup
|
||||||
|
|
||||||
err := worldLocations.InitializeWorldLocationsVariables()
|
err := initializeApplicationVariables()
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = worldLanguages.InitializeWorldLanguageVariables()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
err = locusMetadata.InitializeLocusMetadataVariables()
|
|
||||||
if (err != nil) { return err }
|
|
||||||
|
|
||||||
monogenicDiseases.InitializeMonogenicDiseaseVariables()
|
|
||||||
|
|
||||||
polygenicDiseases.InitializePolygenicDiseaseVariables()
|
|
||||||
|
|
||||||
traits.InitializeTraitVariables()
|
|
||||||
|
|
||||||
err = profileFormat.InitializeProfileFormatVariables()
|
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
applicationVariablesInitialized = true
|
applicationVariablesInitialized = true
|
||||||
|
@ -484,7 +349,7 @@ func DeleteAppUser(userName string)(bool, error){
|
||||||
// We use this to partially sign in to the first app user when testing packages that need it
|
// We use this to partially sign in to the first app user when testing packages that need it
|
||||||
// An example is myMap, which requires an app user to be signed in to use it
|
// An example is myMap, which requires an app user to be signed in to use it
|
||||||
// We don't need to sign the user out after calling this function, because we only use this for testing
|
// We don't need to sign the user out after calling this function, because we only use this for testing
|
||||||
func InitializeAppUserForTests()error{
|
func InitializeAppUserForTests(initializeAppDatastores bool, initializeAppVariables bool)error{
|
||||||
|
|
||||||
appUsersList, err := GetAppUsersList()
|
appUsersList, err := GetAppUsersList()
|
||||||
if (err != nil){ return err }
|
if (err != nil){ return err }
|
||||||
|
@ -497,6 +362,51 @@ func InitializeAppUserForTests()error{
|
||||||
|
|
||||||
appMemory.SetMemoryEntry("AppUser", userName)
|
appMemory.SetMemoryEntry("AppUser", userName)
|
||||||
|
|
||||||
|
err = createAppUserDataFolders()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
if (initializeAppDatastores == true){
|
||||||
|
|
||||||
|
err := initializeAppUserDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (initializeAppVariables == true){
|
||||||
|
|
||||||
|
err := initializeApplicationVariables()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func initializeApplicationVariables()error{
|
||||||
|
|
||||||
|
// This only needs to be done once per application startup
|
||||||
|
|
||||||
|
err := worldLocations.InitializeWorldLocationsVariables()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = worldLanguages.InitializeWorldLanguageVariables()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = locusMetadata.InitializeLocusMetadataVariables()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
monogenicDiseases.InitializeMonogenicDiseaseVariables()
|
||||||
|
|
||||||
|
polygenicDiseases.InitializePolygenicDiseaseVariables()
|
||||||
|
|
||||||
|
traits.InitializeTraitVariables()
|
||||||
|
|
||||||
|
err = profileFormat.InitializeProfileFormatVariables()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func createAppUserDataFolders()error{
|
||||||
|
|
||||||
userDirectoryPath, err := localFilesystem.GetAppUserFolderPath()
|
userDirectoryPath, err := localFilesystem.GetAppUserFolderPath()
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
@ -512,7 +422,124 @@ func InitializeAppUserForTests()error{
|
||||||
err = myMapList.InitializeMyMapListsFolder()
|
err = myMapList.InitializeMyMapListsFolder()
|
||||||
if (err != nil) { return err }
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myBroadcasts.InitializeMyBroadcastsFolders()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myGenomes.CreateUserGenomesFolder()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myAnalyses.CreateMyAnalysesFolder()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func initializeAppUserDatastores()error{
|
||||||
|
|
||||||
|
err := mySeedPhrases.InitializeMySeedPhrasesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myLocalDesires.InitializeMyDesiresDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myMateCriteria.InitializeMyCriteriaDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myMatchScore.InitializeMyMatchScorePointsDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = mySettings.InitializeMySettingsDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myLocalProfiles.InitializeMyLocalProfileDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myMatches.InitializeMyMatchesDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myContacts.InitializeMyContactDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myIgnoredUsers.InitializeMyIgnoredUsersDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myBlockedUsers.InitializeMyBlockedUsersDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = mySecretInboxes.InitializeMySecretInboxesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myChatKeys.InitializeMyChatKeysDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myCipherKeys.InitializeMyMessageCipherKeysDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myReadStatus.InitializeMyReadStatusDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myConversationIndexes.InitializeMyConversationIndexesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myChatFilters.InitializeMyChatFiltersDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myLikedUsers.InitializeMyLikedUsersDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myChatConversations.InitializeMyChatConversationsDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myChatMessages.InitializeMyChatMessageDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myMessageQueue.InitializeMyMessageQueueDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = peerChatKeys.InitializePeerChatKeysDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = peerSecretInboxes.InitializePeerSecretInboxesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = peerDevices.InitializePeerDevicesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = sendMessages.InitializeSentMessagesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myGenomes.InitializeMyGenomeDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myPeople.InitializeMyGenomePeopleDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myCouples.InitializeMyGenomeCouplesDatastore()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myAnalyses.InitializeMyAnalysesDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = viewedContent.InitializeViewedContentDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = logger.InitializeMyLogDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = viewedModerators.InitializeViewedModeratorsDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = viewedHosts.InitializeViewedHostsDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = mySkippedContent.InitializeMySkippedContentDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
|
err = myHiddenContent.InitializeMyHiddenContentDatastores()
|
||||||
|
if (err != nil) { return err }
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ func TestBlockUnblockUser(t *testing.T){
|
||||||
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
err = appUsers.InitializeAppUserForTests()
|
err = appUsers.InitializeAppUserForTests(false, false)
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initialize app user for tests: " + err.Error())
|
t.Fatalf("Failed to initialize app user for tests: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ func TestMyList(t *testing.T){
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
||||||
}
|
}
|
||||||
err = appUsers.InitializeAppUserForTests()
|
err = appUsers.InitializeAppUserForTests(false, false)
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ func TestMyMap(t *testing.T) {
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
||||||
}
|
}
|
||||||
err = appUsers.InitializeAppUserForTests()
|
err = appUsers.InitializeAppUserForTests(false, false)
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ func TestAddDeleteMapListData(t *testing.T) {
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
||||||
}
|
}
|
||||||
err = appUsers.InitializeAppUserForTests()
|
err = appUsers.InitializeAppUserForTests(false, false)
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
||||||
}
|
}
|
||||||
|
@ -178,7 +178,7 @@ func TestMapListCopying(t *testing.T){
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
t.Fatalf("Failed to initialize app datastores: " + err.Error())
|
||||||
}
|
}
|
||||||
err = appUsers.InitializeAppUserForTests()
|
err = appUsers.InitializeAppUserForTests(false, false)
|
||||||
if (err != nil){
|
if (err != nil){
|
||||||
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
t.Fatalf("Failed to initalize app user for tests: " + err.Error())
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
package calculatedAttributes_test
|
||||||
|
|
||||||
|
import "seekia/internal/profiles/calculatedAttributes"
|
||||||
|
|
||||||
|
import "seekia/internal/appUsers"
|
||||||
|
import "seekia/internal/generate"
|
||||||
|
import "seekia/internal/identity"
|
||||||
|
import "seekia/internal/localFilesystem"
|
||||||
|
import "seekia/internal/profiles/readProfiles"
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func TestCalculatedAttributes(t *testing.T){
|
||||||
|
|
||||||
|
err := localFilesystem.InitializeAppDatastores()
|
||||||
|
if (err != nil){
|
||||||
|
t.Fatalf("InitializeAppDatastores failed: " + err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
err = appUsers.InitializeAppUserForTests(true, true)
|
||||||
|
if (err != nil) {
|
||||||
|
t.Fatalf("InitializeAppUserForTests failed: " + err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
calculatedAttributesList := calculatedAttributes.GetCalculatedAttributesList()
|
||||||
|
|
||||||
|
for i:=0; i<100; i++{
|
||||||
|
|
||||||
|
identityPublicKey, identityPrivateKey, err := identity.GetNewRandomPublicPrivateIdentityKeys()
|
||||||
|
if (err != nil){
|
||||||
|
t.Fatalf("GetNewRandomPublicPrivateIdentityKeys failed: " + err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fakeProfileBytes, err := generate.GetFakeProfile("Mate", identityPublicKey, identityPrivateKey, 1)
|
||||||
|
if (err != nil){
|
||||||
|
t.Fatalf("GetFakeProfile failed: " + err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ableToRead, profileVersion, _, profileAuthor, _, _, rawProfileMap, err := readProfiles.ReadProfile(true, fakeProfileBytes)
|
||||||
|
if (err != nil){
|
||||||
|
t.Fatalf("ReadProfile failed: " + err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (ableToRead == false){
|
||||||
|
t.Fatalf("ReadProfile cant read profile returned from GetFakeProfile.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
profileType, err := identity.GetIdentityTypeFromIdentityHash(profileAuthor)
|
||||||
|
if (err != nil){
|
||||||
|
t.Fatalf("ReadProfile returning invalid identityHash: " + err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
getProfileAttributesFunction := func(attributeName string)(bool, int, string, error){
|
||||||
|
|
||||||
|
attributeExists, attributeValue, err := readProfiles.GetFormattedProfileAttributeFromRawProfileMap(rawProfileMap, attributeName)
|
||||||
|
if (err != nil) { return false, 0, "", err }
|
||||||
|
if (attributeExists == false){
|
||||||
|
return false, profileVersion, "", nil
|
||||||
|
}
|
||||||
|
return true, profileVersion, attributeValue, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, attributeName := range calculatedAttributesList{
|
||||||
|
|
||||||
|
if (profileType != "Moderator"){
|
||||||
|
if (attributeName == "IdentityScore" || attributeName == "Controversy" || attributeName == "NumberOfReviews"){
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_, _, _, err := calculatedAttributes.GetAnyProfileAttributeIncludingCalculated(attributeName, getProfileAttributesFunction)
|
||||||
|
if (err != nil) {
|
||||||
|
t.Fatalf("GetAnyProfileAttributeIncludingCalculated failed: " + err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue