def test_model_file_bytes(self): with self.getRamCore() as core: hset = s_axon.HashSet() hset.update(b'visi') valu, props = hset.guid() t0 = core.formTufoByProp('file:bytes', valu, **props) self.eq(t0[1].get('file:bytes:size'), 4) self.eq(t0[1].get('file:bytes'), '442f602ecf8230b2a59a44b4f845be27') self.eq(t0[1].get('file:bytes:md5'), '1b2e93225959e3722efed95e1731b764') self.eq(t0[1].get('file:bytes:sha1'), '93de0c7d579384feb3561aa504acd8f23f388040') self.eq( t0[1].get('file:bytes:sha256'), 'e45bbb7e03acacf4d1cca4c16af1ec0c51d777d10e53ed3155bd3d8deb398f3f' ) self.eq( t0[1].get('file:bytes:sha512'), '8238be12bcc3c10da7e07dbea528e9970dc809c07c5aef545a14e5e8d2038563b29c2e818d167b06e6a33412e6beb8347fcc44520691347aea9ee21fcf804e39' )
def _ingFileInfo(self, core, data, info, scope): with scope: self._ingMergScope(core, data, info, scope) cond = info.get('cond') if cond != None and not self._isCondTrue(cond, scope): return path = info.get('path') byts = data.valu(path) dcod = info.get('decode') if dcod != None: byts = s_encoding.decode(dcod, byts) hset = s_axon.HashSet() hset.update(byts) iden, props = hset.guid() mime = info.get('mime') if mime != None: props['mime'] = mime tufo = core.formTufoByProp('file:bytes', iden, **props) self.fire('gest:prog', act='file') for tag in scope.iter('tags'): core.addTufoTag(tufo, tag) self.fire('gest:prog', act='tag')
def test_model_file_seeds(self): with self.getRamCore() as core: hset = s_axon.HashSet() hset.update(b'visi') valu, props = hset.guid() t0 = core.formTufoByProp('file:bytes', valu, **props) self.eq(t0[0], core.formTufoByProp('file:bytes:sha256', props.get('sha256'))[0]) self.eq(t0[0], core.formTufoByProp('file:bytes:sha512', props.get('sha512'))[0]) self.ne(t0[0], core.formTufoByProp('file:bytes:sha1', props.get('sha1'))[0]) self.ne(t0[0], core.formTufoByProp('file:bytes:md5', props.get('md5'))[0])
def test_axonblob(self): with self.getTestDir() as axondir: axon = s_axon.Axon(axondir) core = axon.core hset = s_axon.HashSet() hset.update(b'visi') valu, props = hset.guid() props.update({'off': 0}) t0 = core.formTufoByProp('axon:blob', valu, **props) self.eq(t0[1].get('axon:blob:off'), 0) self.eq(t0[1].get('axon:blob:size'), 4) self.eq(t0[1].get('axon:blob'), '442f602ecf8230b2a59a44b4f845be27') self.eq(t0[1].get('axon:blob:md5'), '1b2e93225959e3722efed95e1731b764') self.eq(t0[1].get('axon:blob:sha1'), '93de0c7d579384feb3561aa504acd8f23f388040') self.eq(t0[1].get('axon:blob:sha256'), 'e45bbb7e03acacf4d1cca4c16af1ec0c51d777d10e53ed3155bd3d8deb398f3f') self.eq(t0[1].get('axon:blob:sha512'), '8238be12bcc3c10da7e07dbea528e9970dc809c07c5aef545a14e5e8d2038563b29c2e818d167b06e6a33412e6beb8347fcc44520691347aea9ee21fcf804e39')