Пример #1
0
 def parts(self):
     """
     >>> Product('DGKFL06JDHJP').parts() # doctest: +ELLIPSIS
     <Element parts at...
     >>> Product(productName='MacBook Pro (17-inch, Mid 2009)').parts() # doctest: +ELLIPSIS
     <Element parts at...
     """
     try:
         return Lookup(serialNumber=self.serialNumber).parts()
     except AttributeError:
         return Lookup(productName=self.productName).parts()
Пример #2
0
def test_default_empty_entry_point_group(cleanup):
    Lookup._DEFAULT_ENTRY_POINT_GROUP = 'lookups.test_default_empty_entry_point_group'
    dflt = Lookup.get_default()
    assert dflt
    assert isinstance(dflt, ProxyLookup)

    all_instances = dflt.lookup_all(object)
    assert not all_instances

    assert Lookup.get_default() is dflt

    assert Lookup._DEFAULT_LOOKUP is dflt
    assert Lookup._DEFAULT_LOOKUP_PROVIDER is None
Пример #3
0
def test_default_lookup_provider(cleanup):
    Lookup._DEFAULT_ENTRY_POINT_GROUP = 'lookups.test_default_lookup_provider'
    dflt = Lookup.get_default()
    assert dflt
    assert isinstance(dflt, DelegatedLookup)

    all_instances = dflt.lookup_all(object)
    assert len(all_instances) == 1
    assert isinstance(all_instances[0], TestParentObject)

    assert Lookup.get_default() is dflt

    assert Lookup._DEFAULT_LOOKUP is dflt
    assert Lookup._DEFAULT_LOOKUP_PROVIDER is None
Пример #4
0
def test_default_no_lookup(cleanup):
    Lookup._DEFAULT_ENTRY_POINT_GROUP = 'lookups.test_default_no_lookup'
    dflt = Lookup.get_default()
    assert dflt
    assert isinstance(dflt, ProxyLookup)

    all_instances = dflt.lookup_all(object)
    assert all_instances
    assert (len(all_instances) %
            3) == 0  # Because pytest can double up our entry points
    assert {type(instance)
            for instance in all_instances
            } == set([TestParentObject, TestChildObject, TestOtherObject])

    assert Lookup.get_default() is dflt

    assert Lookup._DEFAULT_LOOKUP is dflt
    assert Lookup._DEFAULT_LOOKUP_PROVIDER is None
Пример #5
0
    def lookup(self):
        """
        Description:
        The Repair Lookup API mimics the front-end repair search functionality.
        It fetches up to 2500 repairs in a given criteria.
        Subsequently, the extended Repair Status API can be used
        to retrieve more details of the repair.

        >>> Repair(repairStatus='Open').lookup() #doctest: +ELLIPSIS
        {'customerName': 'Lepalaan,Filipp',...
        """
        self._namespace = "core:"
        return Lookup(**self._data).repairs()
Пример #6
0
def test_default_lookup_lookup_provider(cleanup):
    Lookup._DEFAULT_ENTRY_POINT_GROUP = 'lookups.test_default_lookup_lookup_provider'
    dflt = Lookup.get_default()
    assert dflt
    assert isinstance(dflt, SingletonLookup)

    all_instances = dflt.lookup_all(object)
    assert len(all_instances) == 1
    assert isinstance(all_instances[0], TestParentObject)

    assert Lookup.get_default() is dflt

    assert isinstance(Lookup._DEFAULT_LOOKUP, DefaultLookupLookupProvider)
    assert Lookup._DEFAULT_LOOKUP_PROVIDER is Lookup._DEFAULT_LOOKUP

    # Try have the provider return None
    Lookup._DEFAULT_LOOKUP_PROVIDER._lookup = None
    new_dflt = Lookup.get_default()
    assert new_dflt is Lookup._DEFAULT_LOOKUP

    all_instances = new_dflt.lookup_all(object)
    assert len(all_instances) == 1
    assert isinstance(all_instances[0], TestOtherObject)
Пример #7
0
 def lookup(self):
     """
     The General Escalation Details Lookup API allows to fetch details
     of a general escalation created by AASP or a carrier.
     """
     return Lookup(escalationId=self.escalationId).lookup("GeneralEscalationDetailsLookup")
Пример #8
0
 def lookup(self):
     lookup = Lookup(**self._data)
     return lookup.parts()
Пример #9
0
 def repairs(self):
     """
     >>> Product(serialNumber='DGKFL06JDHJP').repairs() # doctest: +ELLIPSIS
     <Element lookupResponseData at...
     """
     return Lookup(serialNumber=self.serialNumber).repairs()