Exemplo n.º 1
0
    def testAsset(self):
        iaeps = [
            AssetEnvironmentProperties(
                self.iassets[0]["theEnvironmentProperties"][0][0],
                self.iassets[0]["theEnvironmentProperties"][0][1],
                self.iassets[0]["theEnvironmentProperties"][0][2])
        ]
        iap = AssetParameters(self.iassets[0]["theName"],
                              self.iassets[0]["theShortCode"],
                              self.iassets[0]["theDescription"],
                              self.iassets[0]["theSignificance"],
                              self.iassets[0]["theType"], "0", "N/A", [], [],
                              iaeps)
        b = Borg()

        iap.theShortCode = 'TESTCODE123456789012345678901234567890'
        with self.assertRaises(AttributeTooBig):
            b.dbProxy.addAsset(iap)
        iap.theShortCode = 'TESTCODE'
        b.dbProxy.addAsset(iap)

        oaps = b.dbProxy.getAssets()
        oap = oaps[self.iassets[0]["theName"]]

        self.assertEqual(iap.name(), oap.name())
        self.assertEqual(iap.shortCode(), oap.shortCode())
        self.assertEqual(iap.description(), oap.description())
        self.assertEqual(iap.significance(), oap.significance())
        oaeps = oap.environmentProperties()
        self.assertEqual(iaeps[0].name(), oaeps[0].name())
        self.assertEqual(str(iaeps[0].properties()[0]),
                         str(oaeps[0].properties()[0]))
        self.assertEqual(str(iaeps[0].properties()[1]),
                         str(oaeps[0].properties()[1]))
        self.assertEqual(str(iaeps[0].properties()[2]),
                         str(oaeps[0].properties()[2]))
        self.assertEqual(str(iaeps[0].properties()[3]),
                         str(oaeps[0].properties()[3]))
        self.assertEqual(str(iaeps[0].properties()[4]),
                         str(oaeps[0].properties()[4]))
        self.assertEqual(str(iaeps[0].properties()[5]),
                         str(oaeps[0].properties()[5]))
        self.assertEqual(str(iaeps[0].properties()[6]),
                         str(oaeps[0].properties()[6]))
        self.assertEqual(str(iaeps[0].properties()[7]),
                         str(oaeps[0].properties()[7]))
        self.assertEqual(iaeps[0].rationale()[0], oaeps[0].rationale()[0])
        self.assertEqual(iaeps[0].rationale()[1], oaeps[0].rationale()[1])
        self.assertEqual(iaeps[0].rationale()[2], oaeps[0].rationale()[2])
        self.assertEqual(iaeps[0].rationale()[3], oaeps[0].rationale()[3])
        self.assertEqual(iaeps[0].rationale()[4], oaeps[0].rationale()[4])
        self.assertEqual(iaeps[0].rationale()[5], oaeps[0].rationale()[5])
        self.assertEqual(iaeps[0].rationale()[6], oaeps[0].rationale()[6])
        self.assertEqual(iaeps[0].rationale()[7], oaeps[0].rationale()[7])

        envName = self.iassets[0]["theEnvironmentProperties"][0][0]
        self.assertEqual(str(iaeps[0].properties()[0]),
                         str(oap.securityProperties(envName, '', envName)[0]))
        self.assertEqual(str(iaeps[0].properties()[1]),
                         str(oap.securityProperties(envName, '', envName)[1]))
        self.assertEqual(str(iaeps[0].properties()[2]),
                         str(oap.securityProperties(envName, '', envName)[2]))
        self.assertEqual(str(iaeps[0].properties()[3]),
                         str(oap.securityProperties(envName, '', envName)[3]))
        self.assertEqual(str(iaeps[0].properties()[4]),
                         str(oap.securityProperties(envName, '', envName)[4]))
        self.assertEqual(str(iaeps[0].properties()[5]),
                         str(oap.securityProperties(envName, '', envName)[5]))
        self.assertEqual(str(iaeps[0].properties()[6]),
                         str(oap.securityProperties(envName, '', envName)[6]))
        self.assertEqual(str(iaeps[0].properties()[7]),
                         str(oap.securityProperties(envName, '', envName)[7]))
        self.assertEqual([
            [
                'Confidentiality', 'High',
                'Researchers very worried about the disclosure of partially anonymised patient data.'
            ],
            [
                'Availability', 'Medium',
                'Availability of NeuroGrid is quite important, but prepared to sacrifice this if doing so safeguards clinical data.'
            ]
        ], oap.propertyList('Psychosis', '', ''))
        self.assertEqual([['Confidentiality', 'High', 'None'],
                          ['Availability', 'Medium', 'None']],
                         oap.propertyList('', 'Maximise', ''))
        self.assertEqual([['Confidentiality', 'High', 'None'],
                          ['Availability', 'Medium', 'None']],
                         oap.propertyList('', 'Override', 'Psychosis'))
        oap.theShortCode = 'TESTCODE'
        oap.theAssetPropertyDictionary['Psychosis'].theSecurityProperties[
            0] = 1

        b.dbProxy.updateAsset(oap)

        oaps2 = b.dbProxy.getAssets(oap.id())
        oap2 = oaps[self.iassets[0]["theName"]]
        self.assertEqual(oap2.shortCode(), 'TESTCODE')

        oaps = b.dbProxy.deleteAsset(oap.id())
Exemplo n.º 2
0
    def testAsset(self):
        iaeps = [
            AssetEnvironmentProperties(
                self.iassets[0]["theEnvironmentProperties"][0][0],
                self.iassets[0]["theEnvironmentProperties"][0][1],
                self.iassets[0]["theEnvironmentProperties"][0][2])
        ]
        iap = AssetParameters(self.iassets[0]["theName"],
                              self.iassets[0]["theShortCode"],
                              self.iassets[0]["theDescription"],
                              self.iassets[0]["theSignificance"],
                              self.iassets[0]["theType"], "0", "N/A", [], [],
                              iaeps)
        b = Borg()

        iap.theShortCode = 'TESTCODE123456789012345678901234567890'
        with self.assertRaises(AttributeTooBig):
            b.dbProxy.addAsset(iap)
        iap.theShortCode = 'TESTCODE'
        b.dbProxy.addAsset(iap)

        oaps = b.dbProxy.getAssets()
        oap = oaps[self.iassets[0]["theName"]]

        self.assertEqual(iap.name(), oap.name())
        self.assertEqual(iap.shortCode(), oap.shortCode())
        self.assertEqual(iap.description(), oap.description())
        self.assertEqual(iap.significance(), oap.significance())
        oaeps = oap.environmentProperties()
        self.assertEqual(iaeps[0].name(), oaeps[0].name())
        self.assertEqual(str(iaeps[0].properties()[0]),
                         str(oaeps[0].properties()[0]))
        self.assertEqual(str(iaeps[0].properties()[1]),
                         str(oaeps[0].properties()[1]))
        self.assertEqual(str(iaeps[0].properties()[2]),
                         str(oaeps[0].properties()[2]))
        self.assertEqual(str(iaeps[0].properties()[3]),
                         str(oaeps[0].properties()[3]))
        self.assertEqual(str(iaeps[0].properties()[4]),
                         str(oaeps[0].properties()[4]))
        self.assertEqual(str(iaeps[0].properties()[5]),
                         str(oaeps[0].properties()[5]))
        self.assertEqual(str(iaeps[0].properties()[6]),
                         str(oaeps[0].properties()[6]))
        self.assertEqual(str(iaeps[0].properties()[7]),
                         str(oaeps[0].properties()[7]))
        self.assertEqual(iaeps[0].rationale()[0], oaeps[0].rationale()[0])
        self.assertEqual(iaeps[0].rationale()[1], oaeps[0].rationale()[1])
        self.assertEqual(iaeps[0].rationale()[2], oaeps[0].rationale()[2])
        self.assertEqual(iaeps[0].rationale()[3], oaeps[0].rationale()[3])
        self.assertEqual(iaeps[0].rationale()[4], oaeps[0].rationale()[4])
        self.assertEqual(iaeps[0].rationale()[5], oaeps[0].rationale()[5])
        self.assertEqual(iaeps[0].rationale()[6], oaeps[0].rationale()[6])
        self.assertEqual(iaeps[0].rationale()[7], oaeps[0].rationale()[7])

        envName = self.iassets[0]["theEnvironmentProperties"][0][0]
        self.assertEqual(str(iaeps[0].properties()[0]),
                         str(oap.securityProperties(envName, '', envName)[0]))
        self.assertEqual(str(iaeps[0].properties()[1]),
                         str(oap.securityProperties(envName, '', envName)[1]))
        self.assertEqual(str(iaeps[0].properties()[2]),
                         str(oap.securityProperties(envName, '', envName)[2]))
        self.assertEqual(str(iaeps[0].properties()[3]),
                         str(oap.securityProperties(envName, '', envName)[3]))
        self.assertEqual(str(iaeps[0].properties()[4]),
                         str(oap.securityProperties(envName, '', envName)[4]))
        self.assertEqual(str(iaeps[0].properties()[5]),
                         str(oap.securityProperties(envName, '', envName)[5]))
        self.assertEqual(str(iaeps[0].properties()[6]),
                         str(oap.securityProperties(envName, '', envName)[6]))
        self.assertEqual(str(iaeps[0].properties()[7]),
                         str(oap.securityProperties(envName, '', envName)[7]))
        self.assertEqual(
            [['Confidentiality', 'High'], ['Availability', 'Medium']],
            oap.propertyList('Psychosis', '', ''))
        self.assertEqual(
            [['Confidentiality', 'High'], ['Availability', 'Medium']],
            oap.propertyList('', 'Maximise', ''))
        self.assertEqual(
            [['Confidentiality', 'High'], ['Availability', 'Medium']],
            oap.propertyList('', 'Override', 'Psychosis'))
        oap.theShortCode = 'TESTCODE'
        oap.theAssetPropertyDictionary['Psychosis'].theSecurityProperties[
            0] = 1

        b.dbProxy.updateAsset(oap)

        oaps2 = b.dbProxy.getAssets(oap.id())
        oap2 = oaps[self.iassets[0]["theName"]]
        self.assertEqual(oap2.shortCode(), 'TESTCODE')

        oaps = b.dbProxy.deleteAsset(oap.id())