49 lines
		
	
	
		
			1001 B
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1001 B
		
	
	
	
		
			Python
		
	
	
| import uuid
 | |
| 
 | |
| import pytest
 | |
| 
 | |
| import stix2
 | |
| 
 | |
| from .constants import (FAKE_TIME, INDICATOR_KWARGS, MALWARE_KWARGS,
 | |
|                         RELATIONSHIP_KWARGS)
 | |
| 
 | |
| 
 | |
| # Inspired by: http://stackoverflow.com/a/24006251
 | |
| @pytest.fixture
 | |
| def clock(monkeypatch):
 | |
| 
 | |
|     class mydatetime(stix2.utils.STIXdatetime):
 | |
|         @classmethod
 | |
|         def now(cls, tz=None):
 | |
|             return FAKE_TIME
 | |
| 
 | |
|     monkeypatch.setattr(stix2.utils, 'STIXdatetime', mydatetime)
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def uuid4(monkeypatch):
 | |
|     def wrapper():
 | |
|         data = [0]
 | |
| 
 | |
|         def wrapped():
 | |
|             data[0] += 1
 | |
|             return "00000000-0000-0000-0000-00000000%04x" % data[0]
 | |
| 
 | |
|         return wrapped
 | |
|     monkeypatch.setattr(uuid, "uuid4", wrapper())
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def indicator(uuid4, clock):
 | |
|     return stix2.Indicator(**INDICATOR_KWARGS)
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def malware(uuid4, clock):
 | |
|     return stix2.Malware(**MALWARE_KWARGS)
 | |
| 
 | |
| 
 | |
| @pytest.fixture
 | |
| def relationship(uuid4, clock):
 | |
|     return stix2.Relationship(**RELATIONSHIP_KWARGS)
 |