package org.swellrt.beta.model.remote; import org.swellrt.beta.client.PlatformBasedFactory; import org.swellrt.beta.common.SException; import org.swellrt.beta.model.SMap; import org.swellrt.beta.model.SNodeAccessControl; import org.swellrt.beta.model.SPrimitive; import org.swellrt.beta.testing.FakePlatformBasedFactory; import org.waveprotocol.wave.model.id.IdGenerator; import org.waveprotocol.wave.model.testing.BasicFactories; import org.waveprotocol.wave.model.testing.FakeIdGenerator; import org.waveprotocol.wave.model.testing.FakeWaveView; import org.waveprotocol.wave.model.wave.ParticipantId; import junit.framework.TestCase; /** * Base class for tests regarding SNodeRemote hierarchy * * @author pablojan@gmail.com (Pablo Ojanguren) * */ public abstract class SNodeRemoteAbstractTest extends TestCase { protected IdGenerator idGenerator; protected FakeWaveView wave; protected SObjectRemote object; protected PlatformBasedFactory factory; protected void setUp() throws Exception { factory = new FakePlatformBasedFactory(); idGenerator = FakeIdGenerator.create(); wave = BasicFactories.fakeWaveViewBuilder().with(idGenerator).build(); object = SObjectRemote.inflateFromWave(ParticipantId.ofUnsafe("tom@acme.com"), idGenerator, "example.com", wave, factory, null); // A different way to create a fake wave /* SchemaProvider SCHEMA_PROVIDER = new SchemaProvider() { @Override public DocumentSchema getSchemaForId(WaveletId waveletId, String documentId) { if (Model.isModelWaveletId(waveletId)) { if (TextType.isTextBlipId(documentId)) { return ModelSchemas.TEXT_DOCUMENT_SCHEMA; } // TODO Add more schemas for List, Root, Map... } return DocumentSchema.NO_SCHEMA_CONSTRAINTS; } }; IdGenerator ID_GENERATOR = FakeIdGenerator.create(); String DOMAIN = "example.com"; FakeWaveView wave = FakeWaveView.builder(SCHEMA_PROVIDER).with(ID_GENERATOR).build(); MutableCObject object = MutableCObject.ofWave(DOMAIN, wave); */ } }