Exemple #1
0
    def __init__(
        self,
        id,
        device: Device or str,
        reality: Reality or str,
        value: str,
        created_at: datetime,
        updated_at: datetime,
    ):
        self.id = id
        self.value = value
        self.created_at = created_at
        self.updated_at = updated_at

        if device:
            if isinstance(device, Device):
                self.device = device
            elif isinstance(device, dict):
                self.device = Device(**device)
            elif isinstance(device, int):
                self.device = Device.placeholder(id=device)
        else:
            self.device = None

        if reality:
            if isinstance(reality, Reality):
                self.reality = reality
            elif isinstance(reality, dict):
                self.reality = Reality(**reality)
            elif isinstance(reality, int):
                self.reality = Reality.placeholder(id=reality)
        else:
            self.reality = None
Exemple #2
0
 def __init__(
     self,
     id: int or None,
     email: str or None,
     auth_type: str or None,
     user_info: dict or None,
     device_id: str or None = None,
     password: str or None = None,
     cohorts: List[int] or None = None,
     magic_fields: List[Dict] or None = None,
     user_emails: List[Dict] or None = None,
     user_consent: Dict or None = None,
     devices: List[Dict] or List[str] or None = None,
     token=None,
 ):
     self.id = id
     self.email = email
     self.auth_type = auth_type
     self._device = Device.placeholder(id=device_id)
     if user_info:
         if isinstance(user_info, dict):
             user_info = UserInfo(**user_info)
         elif isinstance(user_info, UserInfo):
             user_info = user_info
     else:
         user_info = UserInfo(None, None, None, None)
     self.user_info = user_info
     self.first_name = user_info.first_name
     self.last_name = user_info.last_name
     self.password = password
     self.cohorts = []
     self.token = token
     if cohorts:
         self.cohorts = [Cohort.placeholder(int(c_id)) for c_id in cohorts]
     if magic_fields:
         self.magic_fields = [MagicField(**m) for m in magic_fields]
     else:
         self.magic_fields = []
     if user_emails:
         self.user_emails = [UserEmail(**u) for u in user_emails]
     else:
         self.user_emails = []
     if user_consent:
         if isinstance(user_consent, UserConsent):
             self.user_consent = user_consent
         elif isinstance(user_consent, dict):
             self.user_consent = UserConsent(**user_consent)
     else:
         self.user_consent = None
     if devices:
         self.devices = []
         for device in devices:
             if isinstance(device, (str, int)):
                 self.devices.append(Device.placeholder(id=device))
             elif isinstance(device, dict):
                 self.devices.append(Device(**device))
     else:
         self.devices = []
Exemple #3
0
 def create_new(
         cls,
         type: str,
         device: Device or str or int,
         user: User or str or int or None,
         event: Event or str or int,
         action: str,
 ):
     booking = Booking(
         id=None,
         type=type,
         device_id=None,
         user_id=None,
         event_id=None,
         created_at=None,
         updated_at=None,
         action=action,
     )
     if isinstance(user, (str, int)):
         user = User.placeholder(id=user)
     booking._user = user
     if isinstance(device, (str, int)):
         device = Device.placeholder(id=device)
     booking._device = device
     if isinstance(event, (str, int)):
         event = Event.placeholder(id=event)
     booking._event = event
     return booking
 def __init__(self,
              audience: Dict or Audience,
              device: Dict or Device,
              created_at: datetime or None = None):
     self.created_at = created_at
     if isinstance(audience, Audience):
         self.audience = audience
     elif isinstance(audience, int):
         self.audience = Audience.placeholder(id=audience)
     else:
         self.audience = Audience(**audience)
     if isinstance(device, Device):
         self.device = device
     elif isinstance(device, int):
         self.device = Device.placeholder(id=device)
     else:
         self.device = Device(**device)
 def create_new(cls, provider, provider_token, payload, device):
     token = DeviceToken(id=None,
                         provider=provider,
                         provider_token=provider_token,
                         payload=payload,
                         device_id=None)
     if isinstance(device, (str, int)):
         device = Device.placeholder(id=device)
     token._device = device
     return token
 def __init__(self,
              id: int or None,
              provider: str,
              provider_token: str,
              payload,
              device_id: str or None = None):
     self._id = id
     self.provider = provider
     self.provider_token = provider_token
     self.payload = payload
     self._device = Device.placeholder(id=device_id)
 def __init__(self,
              id,
              device_id,
              form_id,
              data,
              expires_at=None,
              created_at=None,
              updated_at=None):
     self._id = id
     self.data = data
     self.created_at = created_at
     self.updated_at = updated_at
     self.expires_at = expires_at
     self._device = Device.placeholder(id=device_id)
     self._form = Form.placeholder(id=form_id)
Exemple #8
0
 def __init__(
     self,
     id,
     created_at,
     device_id,
     venue_id,
     event_id,
 ):
     self._id = id
     self.created_at = created_at
     self._device = Device.placeholder(id=device_id)
     if venue_id:
         self._venue = Venue.placeholder(id=venue_id)
     else:
         self._venue = None
     if event_id:
         self._event = Event.placeholder(id=event_id)
     else:
         self._event = None
Exemple #9
0
 def __init__(
         self,
         id,
         type,
         device_id,
         event_id,
         created_at,
         updated_at,
         action,
         user_id=None,
 ):
     self._id = id
     self.type = type
     self._device = Device.placeholder(id=device_id)
     if user_id:
         self._user = User.placeholder(id=user_id)
     else:
         self._user = None
     self._event = Event.placeholder(id=event_id)
     self.created_at = created_at
     self.updated_at = updated_at
     self.action = action
 def create_new(
     cls,
     device: Device or str or int,
     form: Form or str or int,
     data: list,
 ):
     device_form_data = DeviceFormData(
         id=None,
         device_id=None,
         form_id=None,
         data=data,
         expires_at=None,
         created_at=None,
         updated_at=None,
     )
     if isinstance(device, (str, int)):
         device = Device.placeholder(id=device)
     device_form_data._device = device
     if isinstance(form, (str, int)):
         form = Form.placeholder(id=form)
     device_form_data._form = form
     return device_form_data
Exemple #11
0
 def create_new(
     cls,
     device: Device or str or int,
     venue: Venue or str or int or None,
     event: Event or str or int,
 ):
     device_pref = DevicePreference(
         id=None,
         device_id=None,
         venue_id=None,
         event_id=None,
         created_at=None,
     )
     if isinstance(event, (str, int)):
         event = Event.placeholder(event)
     device_pref._event = event
     if isinstance(device, (str, int)):
         device = Device.placeholder(id=device)
     device_pref._device = device
     if isinstance(venue, (str, int)):
         venue = Venue.placeholder(id=venue)
     device_pref._venue = venue
     return device_pref
                                          tzinfo=timezone(
                                              timedelta(0), '+0000'))
    assert booking.updated_at == datetime(2019,
                                          8,
                                          21,
                                          13,
                                          31,
                                          47,
                                          tzinfo=timezone(
                                              timedelta(0), '+0000'))
    assert booking.action == 'interested'


@pytest.mark.parametrize(('device', 'user', 'event'), [
    ('1234', '5555', '8888'),
    (Device.placeholder(1234), User.placeholder(5555), Event.placeholder(8888))
])
def test_create_booking(requests_mock, device, user, event):

    mock_responses = (('POST', 'https://' + TEST_API_DOMAIN + '/v4/bookings',
                       'mock_responses/ls_api/create_booking.json', 200), )
    configure_mock_responses(requests_mock, mock_responses, FIXTURES_DIR,
                             CONTENT_TYPE)

    resource_client = LiveStyledResourceClient(TEST_API_DOMAIN, 'bar')
    resource_client.create_booking(
        Booking.create_new(type='manual',
                           device=device,
                           user=user,
                           event=event,
                           action='going'))