コード例 #1
0
 def setUp(self):
     self.connection = Connection(username, password, debug=0)
     #drop all the test projects:
     delete_projects_by_name(self.connection, TEST_PROJECT_NAME)
     # you can delete here multiple directories from webdav
     for dir_name in ():
         self.connection.delete_webdav_dir(dir_name)
コード例 #2
0
class TestProject(unittest.TestCase):

    def setUp(self):
        self.connection = Connection(username, password, debug=0)
        #drop all the test projects:
        delete_projects_by_name(self.connection, TEST_PROJECT_NAME)
        # you can delete here multiple directories from webdav
        for dir_name in ():
            self.connection.delete_webdav_dir(dir_name)

    def test_create_and_delete_project(self):
        project = Project(self.connection).create(TEST_PROJECT_NAME)
        self.assert_(project is not None)
        self.assert_(project.id is not None)
        project.delete()
        self.assertRaises(ProjectNotOpenedError, project.delete)
        self.assertRaises(ProjectNotFoundError, project.load, 
                          name=TEST_PROJECT_NAME)

    def test_create_structure(self):
        project = Project(self.connection).create(TEST_PROJECT_NAME)
        self.assertRaises(MaqlExecutionFailed, project.execute_maql, 'CREATE DATASET {dat')
        for (example, ExampleDataset) in examples.examples:
            dataset = ExampleDataset(project)
            self.assertRaises(DataSetNotFoundError, dataset.get_metadata,
                              name=dataset.schema_name)
            dataset.create()
            self.assert_(dataset.get_metadata(name=dataset.schema_name))
        project.delete()
コード例 #3
0
class TestProject(unittest.TestCase):
    def setUp(self):
        self.connection = Connection(username, password, debug=0)
        #drop all the test projects:
        delete_projects_by_name(self.connection, TEST_PROJECT_NAME)
        # you can delete here multiple directories from webdav
        for dir_name in ():
            self.connection.delete_webdav_dir(dir_name)

    def test_create_and_delete_project(self):
        project = Project(self.connection).create(TEST_PROJECT_NAME)
        self.assert_(project is not None)
        self.assert_(project.id is not None)
        project.delete()
        self.assertRaises(ProjectNotOpenedError, project.delete)
        self.assertRaises(ProjectNotFoundError,
                          project.load,
                          name=TEST_PROJECT_NAME)

    def test_create_structure(self):
        project = Project(self.connection).create(TEST_PROJECT_NAME)
        self.assertRaises(MaqlExecutionFailed, project.execute_maql,
                          'CREATE DATASET {dat')
        for (example, ExampleDataset) in examples.examples:
            dataset = ExampleDataset(project)
            self.assertRaises(DataSetNotFoundError,
                              dataset.get_metadata,
                              name=dataset.schema_name)
            dataset.create()
            self.assert_(dataset.get_metadata(name=dataset.schema_name))
        project.delete()
コード例 #4
0
 def test_login(self):
     if username == '' or password == '':
         raise AttributeError, 'Please provide your username and password to your GoodData account (into creadentials.py)'
     self.assertRaises(AuthenticationError, Connection, '', '')
     connection = Connection(username, password)
     self.assertEquals('', connection.request('/gdc/account/token').read())
     self.assert_(connection.webdav.request('/uploads'))
     # you can delete here multiple directories from webdav
     for dir_name in ():
         connection.webdav.delete(dir_name)
コード例 #5
0
 def setUp(self):
     self.connection = Connection(username, password, debug=0)
     #drop all the test projects:
     delete_projects_by_name(self.connection, TEST_PROJECT_NAME)
     # you can delete here multiple directories from webdav
     for dir_name in ():
         self.connection.delete_webdav_dir(dir_name)
コード例 #6
0
 def test_upload(self):
     example = examples.examples[0][0]
     connection = Connection(username, password, debug=0)
     dir_name = connection.webdav.upload(example.data_csv, example.sli_manifest)
     self.assert_(len(dir_name) > 0)
     self.assert_(connection.webdav.request('/uploads/%s' % dir_name))
     uploaded_file = connection.webdav.request('/uploads/%s/upload.zip' % dir_name)
     tmp_file = write_tmp_file(uploaded_file.read())
     zip_file = ZipFile(tmp_file, "r")
     self.assertEquals(None, zip_file.testzip())
     self.assertEquals(zip_file.namelist(), ['data.csv', 'upload_info.json'])
     zip_file.close()
     os.remove(tmp_file)
コード例 #7
0
    def handle(self, **options):
        '''GoodData upload command'''
        use_datasets = options.get('datasets').split(',') if options.get('datasets') else None

        gd_classes = discover_gooddata_modules()
        if use_datasets:
            for app_cls_name in gd_classes.keys():
                if app_cls_name not in use_datasets:
                    del gd_classes[app_cls_name]

        connection = Connection(settings.GOODDATA_USERNAME, settings.GOODDATA_PASSWORD)
        projects = {}
        for dataset_class in gd_classes.itervalues():
            if not dataset_class.project_name:
                raise AttributeError('project_name not defined in %s' % dataset_class)
            if dataset_class.project_name not in projects:
                projects[dataset_class.project_name] = Project(connection).load(name=dataset_class.project_name)
            dataset = dataset_class(projects[dataset_class.project_name])
            dataset.upload()
コード例 #8
0
from gooddataclient.connection import Connection
from gooddataclient.project import Project
from datasets.quotes import Quotes

connection = Connection('email', 'password')
proj_name = 'quotesFinal9242012'
print '\n\n\nLoading Project: ', proj_name
project = Project(connection).create(name=proj_name)
project = Project(connection).load(name=proj_name)
dataset = Quotes(project)
dataset.upload()