Restcomm-Connect icon indicating copy to clipboard operation
Restcomm-Connect copied to clipboard

Feature Access Control : Proposal1b Main implementation and tests

Open abdulazizali77 opened this issue 7 years ago • 3 comments

abdulazizali77 avatar Sep 11 '17 19:09 abdulazizali77

Hi @abdulazizali77 thanks for the PR, Here are couple of comments

  • [x] it seems that branch has conflict with master, can you please resolve it?
  • [x] i can not seem to find mysql db script for new tables.
  • [x] can you confirm if this was tested locally with mysql as well?
  • [x] do you have a PR for db upgrade scripts in bitbucket?
  • [x] can you please run ci job for this specific branch and make sure results are in synch with testsuit results of master branch, if done already can you please share the link.
  • [ ] is there a user documentation intended for Restcomm Admin on how permission can be add/edited or remove for an account?
  • [x] is there a test to verify that ASR feature can be blocked/unblocked for a given account

Is there a design document or github issue related to this feature so i can understand the feature.

maria-farooq avatar Sep 15 '17 08:09 maria-farooq

@maria-farooq @deruelle @gvagenas All, apologies for the slow updates, am addressing Maria's points (and others) -Currently having doubts about the PermissionsUtil design. Related to how different it is for feature access between VoiceInterpreter and a CallManager. The former, which has getAsrService(), suggests that Asr is designed to be a (configurable?) service and the latter (UssdCallManager) an 'always-on' MessageHandler. In an extensible service oriented design, one would imagine that something like GetServiceInfo would inform whether user has permission or not to use some Service, and would turn on or off the feature as a result. Whereas for how the CallManager, and UssdCallManager are designed now is in an always-on fashion, and allow or disallow sending/receiving types of Messages accordingly given the account which sends/receives Messages. Appreciate your thoughts on the matter Currently the permissions checks are really adhoc/and non generic/non consistent.

-Will recommit the unit tests/integrated tests after done with cleanup

abdulazizali77 avatar Sep 25 '17 04:09 abdulazizali77

@maria-farooq Maria, test results and followup tasks Test results https://mobicents.ci.cloudbees.com/job/RestComm-For-Specific-Branch/151

	Test Result (68 failures / -15)
org.restcomm.connect.commons.faulttolerance.SupervisorActorCreationStressTest.testCreateSampleAkkaActor
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceOriginalTest.checkEmail
org.restcomm.connect.testsuite.telephony.CallLifecycleAnswerDelayTest.testDialCancelBeforeDialingClientAliceAfterRinging
org.restcomm.connect.testsuite.telephony.CallLifecycleTest.testDialCancelBeforeDialingClientAliceAfterTrying
org.restcomm.connect.testsuite.telephony.ClientsDialAnswerDelayTest.testClientDialOutPstnSimulateWebRTCClientNoAnswer
org.restcomm.connect.testsuite.telephony.ClientsDialTest.testDialClientAliceWithExtraParamsAtContactHeader
org.restcomm.connect.testsuite.telephony.DialActionTest.testDialActionInvalidCall
org.restcomm.connect.testsuite.telephony.DialActionTest.testDialActionInvalidCallCheckCallStatusCompleted
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientOutgoingAdisconnect
org.restcomm.connect.interpreter.mediagroup.StopMediaGroupTest.testForkingBusyStop
org.restcomm.connect.interpreter.mediagroup.StopMediaGroupTest.testForkingBusyStopNextVerb
org.restcomm.connect.interpreter.mediagroup.StopMediaGroupTest.testForkingTimeoutStop
org.restcomm.connect.interpreter.mediagroup.StopMediaGroupTest.testForkingTimeoutStopNextVerb
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceMigratedTest.checkEmail
org.restcomm.connect.testsuite.http.AccountsEndpointTest.testGetAccountsOfASpecificOrganization
org.restcomm.connect.testsuite.provisioning.number.vi.IncomingPhoneNumbersEndpointTest.testCreateNonPureSipPhoneNumbersForOrganizations
org.restcomm.connect.testsuite.sms.SmsTest.testP2PSendSMS_GeorgeClient_ToFotiniClient
org.restcomm.connect.testsuite.telephony.DialForkAnswerDelayTest.org.restcomm.connect.testsuite.telephony.DialForkAnswerDelayTest
org.restcomm.connect.testsuite.telephony.DialRecordingTest.testRecordCallWithActionWithMaxRecordingReached
org.restcomm.connect.testsuite.telephony.DialRecordingTranscribeTest.testTranscribeWithAppRolePermissionOnly
org.restcomm.connect.testsuite.telephony.DialRecordingTranscribeTest.testTranscribeWithAdditiveAppAccountPermission
org.restcomm.connect.testsuite.telephony.DialRecordingTranscribeTest.testTranscribeWithSubtractiveAppAccountPermission
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayCancelTest.testWebRTCClientOutgoingCancel
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientOutgoingBusy
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testUnregisteredWebRTCClientOutgoing
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testUnregisteredWebRTCClientIncoming
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientOutgoingRequestTimeout
org.restcomm.connect.http.AccountsEndpointMockedTest.endpointInitializedAndBasicAuthorizationWork
org.restcomm.connect.http.AccountsEndpointMockedTest.requestMissingAuthorizationIsRejected
org.restcomm.connect.testsuite.http.AccountsEndpointTest.testCreateAccountWithJapaneseChars
org.restcomm.connect.testsuite.http.PermissionsTest.testDeletePermission
org.restcomm.connect.testsuite.telephony.DialConferenceTest.testDialConferenceClientsWaitForDisconnect
org.restcomm.connect.testsuite.telephony.TestDialVerbPartTwo.testDialConferenceNoDialAction_SendSms
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceMigratedTest.checkIncomingPhoneNumbers
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceMixedTest.checkIncomingPhoneNumbers
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceMixedTest.checkClients
org.restcomm.connect.testsuite.RvdProjectsMigratorWorkspaceOriginalTest.checkIncomingPhoneNumbers
org.restcomm.connect.testsuite.sms.SmsEndpointTest.sendSmsTestToClientExistingInDifferentOrganizations
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingADisconnect
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingBusy
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingFail
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingAHold
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingBHold
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayTest.testWebRTCClientIncomingRequestTimeout
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientOutgoingOtherDomain
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientIncomingADisconnect
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientIncomingBusy
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientIncomingAHold
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientIncomingBHold
org.restcomm.connect.testsuite.telephony.ImsClientsDialTest.testWebRTCClientIncomingRequestTimeout
org.restcomm.connect.testsuite.telephony.TestDialVerbPartTwo.testDialClientAliceWithRecordAndStatusCallbackForAppForThreeCalls
org.restcomm.connect.testsuite.telephony.TestDialVerbPartTwo.testRecordWithActionAndStatusCallbackForAppWithBobSendsFinishKey
org.restcomm.connect.testsuite.telephony.TestDialVerbPartTwoAnswerDelay.testDialClientAliceWithRecordAndStatusCallbackForApp
org.restcomm.connect.testsuite.http.LiveCallModificationAnswerDelayTest.testTerminateDialForkCallWhileRinging_LCM_to_dial_branches
org.restcomm.connect.testsuite.telephony.DialRecordingS3UploadAnswerDelayTest.testDialClientAlice_BobDisconnects
org.restcomm.connect.testsuite.telephony.DialRecordingS3UploadAnswerDelayTest.testDialClientAlice_AliceDisconnects
org.restcomm.connect.testsuite.telephony.ImsClientsDialAnswerDelayCancelTest.testWebRTCClientIncomingCancel
org.restcomm.connect.testsuite.http.AccountsEndpointClosingTest.removeAccountAndReleaseProvidedNumbers
org.restcomm.connect.testsuite.http.CorsRelaxTest.corsHeadersAreReturnedForAccount
org.restcomm.connect.testsuite.http.UsageRecordsTest.getUsageRecordsDaily
org.restcomm.connect.testsuite.http.UsageRecordsTest.getUsageRecordsMonthly
org.restcomm.connect.testsuite.http.UsageRecordsTest.getUsageRecordsYearly
org.restcomm.connect.testsuite.http.UsageRecordsTest.getUsageRecordsAlltime
org.restcomm.connect.testsuite.provisioning.number.voxbone.VoxboneIncomingPhoneNumbersEndpointTest.testPurchaseAndDeletePhoneNumberSuccess
org.restcomm.connect.testsuite.provisioning.number.voxbone.VoxboneIncomingPhoneNumbersEndpointTest.testPurchasePhoneNumberNoPhoneNumberFound
org.restcomm.connect.testsuite.telephony.NoAuthRegisterClientTest.testGeorgeCallMaria
org.restcomm.connect.testsuite.telephony.TestMgcpOperations.testDialHelloPlay
org.restcomm.connect.testsuite.telephony.ReferTest.org.restcomm.connect.testsuite.telephony.ReferTest

TODO: https://github.com/RestComm/Restcomm-Connect/issues/2552 https://github.com/RestComm/Restcomm-Connect/issues/2553 https://github.com/RestComm/Restcomm-Connect/issues/2554 https://github.com/RestComm/Restcomm-Connect/issues/2555 https://github.com/RestComm/Restcomm-Connect/issues/2556 https://github.com/RestComm/Restcomm-Connect/issues/2557 https://github.com/RestComm/Restcomm-Connect/issues/2558 https://github.com/RestComm/Restcomm-Connect/issues/2559 https://github.com/RestComm/Restcomm-Connect/issues/2560

Db script PR https://bitbucket.org/telestax/telscale-restcomm/pull-requests/38/cloudops-391-add-mysql-upgrade-scripts-for

The integration test for ASR is DialRecordingTranscribeTest which will fail and needs some further work after recordings has been fixed for MockMediaServer But the design of the test is correct (apart from the empty expected transcription values) https://github.com/RestComm/Restcomm-Connect/issues/2560

abdulazizali77 avatar Oct 09 '17 09:10 abdulazizali77