Exemple #1
0
def get_harvest_clients(request):
    """
        Import new clients from harvest
    
        sequence 1/3
    """
    h = Harvest( settings.HARVEST_ADDRESS, settings.HARVEST_USER, settings.HARVEST_PASS )
    response = []
    for hclient in h.clients():
        try:
            c = Client.objects.get(harvest_id=hclient.id)
            response.append({'harvest_id':hclient.id,'name':c.name,'status':'skipped'})
        except:
            c = Client(harvest_id=hclient.id,name=hclient.name, details=hclient.details)
            response.append({'harvest_id':hclient.id,'name':hclient.name,'status':'added'})
        c.save()
    return HttpResponse(simplejson.dumps(response,indent=2, ensure_ascii=False),mimetype='application/json')
Exemple #2
0
class TestHarvest(unittest.TestCase):
    
    def setUp(self):
        self.harvest = Harvest(URL, USER, PWD)
        
    def test_00_isinstance(self):
        self.assertIsInstance(self.harvest,Harvest)
        
    def test_01_connect_fail(self):
        bad_harvest = Harvest(URL, "bogus_user","badpassword")
        self.assertRaises(Exception,bad_harvest._request, URL + "/people")
        
    def test_02_get_users(self):
        for user in self.harvest.users():
            self.assertIsInstance(user, User)
                
    def test_03_get_invoices(self):
        for inv in self.harvest.invoices():
            self.assertIsInstance(inv, Invoice)
                
    def test_04_get_clients(self):
        for client in self.harvest.clients():
            self.assertIsInstance(client, Client)